文章目录

  • 列表
  • 一. 添加元素
  • 1. append() 在末尾添加元素
  • 2. insert() 插入指定列表置
  • 3. extend() 用于拓展列表,两个列表的合并
  • 二. 删除元素
  • 1. remove() 删除元素
  • 2. pop() 删除元素
  • 三. 遍历列表元素与格式化函数
  • 四. 列表排序反转查找
  • 1. reverse() 反转列表元素
  • 2. sort() 排序
  • 3. index() 查找在列表中第一次出现的索引
  • 字符串
  • 一. 修改字符串大小写
  • 1. title() title用于回显首字母大写
  • 2. upper() 全部字符串大写
  • 3. lower() 字符串全部小写
  • 4. find() 查找字符串中的某个字串,找到返回第一个的索引,找不到返回 -1
  • 5. join() join与split相反,用于合并序列的元素
  • 6. replace() 替换指定字符串字串
  • 7.split() 与join相反,用于将字符串拆分为列表
  • 二. 合并(拼接)字符串
  • 1. +
  • 2. 拼接直接在+号后面添加
  • 三. 删字符串中的空格
  • 1. rstrip() 删除末尾的空格
  • 2. lstrip() 去除首位的空格
  • 3. replace() 去除全部空格
  • 列表,字符串 的基础函数
  • 1. len() 统计并返回 (字符串,列表,字典中的个数)
  • 2. min(),max() 最大写,最小写
  • 3. list() 转换为列表
  • 元组与字典
  • 1. clear() 删除所以字典项
  • 2. copy() 浅复制
  • 3. copy() 深复制
  • 4. fromkeys() 创建一个新字典,包含指定key
  • 5. get() 使用get 方法提取字典中没有的项返回指定内容


列表

列表是 python 数据结构中存储对象数组最快捷的方式,内置多种对列表的操作方法。

一. 添加元素

1. append() 在末尾添加元素

>>> portlist = []
>>> portlist.append(20)
>>> portlist.append(21)
>>> portlist
[20, 21]

2. insert() 插入指定列表置

>>> portlist
[20, 21, 53, 80, 8080]
>>> portlist.insert(3,443)
>>> portlist
[20, 21, 53, 443, 80, 8080]

3. extend() 用于拓展列表,两个列表的合并

>>> a = [111,222,333]
>>> b = [444,555]
>>> a
[111, 222, 333]
>>> b
[444, 555]
>>> a.extend(b)
>>> a
[111, 222, 333, 444, 555]
>>> b
[444, 555]
>>>

二. 删除元素

1. remove() 删除元素

a = [111,222,333,'fff','北京']
a.remove(333)
print a
[111, 222, 'fff', '\xe5\x8c\x97\xe4\xba\xac']

2. pop() 删除元素

a = [111,222,333,'fff','北京']
a.pop(2)
print a
[111, 222, 'fff', '\xe5\x8c\x97\xe4\xba\xac']

三. 遍历列表元素与格式化函数

格式化函数:

# coding=utf-8
str_a = "hello"
str_b = "python"
str_c = "wp"
print "{0} {1} {2}".format(str_c,str_a,str_b)
wp hello python

遍历列表:

a = [111,222,333,'fff','北京']
for i in a:
    print i
111
222
333
fff
北京

四. 列表排序反转查找

1. reverse() 反转列表元素

a = [111,222,333,'fff','北京',777,666]
a.reverse()
print a
[666, 777, '\xe5\x8c\x97\xe4\xba\xac', 'fff', 333, 222, 111]

2. sort() 排序

a = [111,222,333,'fff','999',777,666]
a.sort()
print a
[111, 222, 333, 666, 777, '999', 'fff']

高级排序

# coding=utf-8
knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
num = knights.sort(key=len)
print knights
['We', 'ni', 'are', 'the', 'who', 'say', 'knights']

3. index() 查找在列表中第一次出现的索引

# coding=utf-8
knights = ['We', 'are', 'the', 'knights', 'who', 'say', 'ni']
num = knights.index('say')
print num
5

字符串

操作字符串的一些方法

一. 修改字符串大小写

1. title() title用于回显首字母大写

>>> strs = "zifucuan"
>>> strs.title()
Zifucuan

2. upper() 全部字符串大写

>>> strs = "zifucuan"
>>> strs.upper()
ZIFUCUAN

3. lower() 字符串全部小写

>>> strs = "zifUcuan"
>>> strs.lower()
zifucuan

4. find() 查找字符串中的某个字串,找到返回第一个的索引,找不到返回 -1

# coding=utf-8
str_a = "abcdefgababjkloekdd"
str_find = str_a.find('a')
str_find = str_a.find('t')
print str_find
0
-1

5. join() join与split相反,用于合并序列的元素

# coding=utf-8
str_a = ['1','2','3','4','5']
str_b = '+'
str_c = str_b.join(str_a)
print str_c
1+2+3+4+5

6. replace() 替换指定字符串字串

# coding=utf-8
str_a = "hello world"
print str_a.replace('world','python')
hello python

7.split() 与join相反,用于将字符串拆分为列表

# coding=utf-8
str_a = "hello_world_hello_python_hello_wp"
print str_a.split('_')
['hello', 'world', 'hello', 'python', 'hello', 'wp']

二. 合并(拼接)字符串

1. +

合并字符串使用 + 实现

>>> name_1 = "abc"
>>> name_2 = "def" 
>>> name_3 = name_1 + name_2 
>>> name_3 
abcdef

2. 拼接直接在+号后面添加

>>> name_3
abcdef
>>> name_3 = name_1 + "123" + name_2
>>> name_3
abc123def

三. 删字符串中的空格

1. rstrip() 删除末尾的空格

>>> name_lan = 'python '
>>> name_lan
'python '
>>> name_lan.rstrip()
'python'

2. lstrip() 去除首位的空格

>>> name_lan = ' python '
>>> name_lan
' python '
>>> name_lan.lstrip()
'python'

3. replace() 去除全部空格

>>> name_lan = " he llo pyth o n "
name_lan
' he llo pyth o n '
>>> name_lan.replace(" ","")
'hellopython'

列表,字符串 的基础函数

1. len() 统计并返回 (字符串,列表,字典中的个数)

a = [111,222,333,'fff','999',777,666,'aaa','bbb','AAA']
b = {'a':1,'b':2,'c':3}
c = "abcd123?<?#$"
len_a = len(a)
len_b = len(b)
len_c = len(c)
print len_a,len_b,len_c
10 3 12

2. min(),max() 最大写,最小写

a = [4,3,2,1,'5']
b = '1,2,3,4'
max_a = max(a)
max_b = max(b)
min_a = min(a)
min_b = min(b)
print max_a,max_b,min_a,min_b
5 4 1 ,

3. list() 转换为列表

tup = ('a','b',123,)
print tup
tup_1 = list(tup)
print tup_1
('a', 'b', 123)
['a', 'b', 123]

元组与字典

元组与字符串一样,不可修改,使用逗号分割,用括号括起来

字典以键值对的方式存放在一个类似列表的序列里,字典是无序的

# coding=utf-8
names = {'Alice':'123','Cecil':'456'}
print names['Cecil']
456

1. clear() 删除所以字典项

# coding=utf-8
names = {'Alice':'123','Cecil':'456'}
print names
print names.clear()
{'Alice': '123', 'Cecil': '456'}
None

2. copy() 浅复制

浅copy替换原字典中的key时,不受影响,修改value时,原件也会被修改。

# coding=utf-8
x = {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
y =x.copy()
del y['username']
y['machines'].remove('foo')
print y
print x
{'machines': ['bar', 'baz']}
{'username': 'admin', 'machines': ['bar', 'baz']}

3. copy() 深复制

正常 copy 逻辑,理解 copy 出来的是一块新内存空间

# coding=utf-8
from copy import deepcopy
x = {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
y = deepcopy(x)
del y['username']
y['machines'].remove('foo')
print y
print x
{'machines': ['bar', 'baz']}
{'username': 'admin', 'machines': ['foo', 'bar', 'baz']}

4. fromkeys() 创建一个新字典,包含指定key

# coding=utf-8

str_1 = 'key1','key2'
dic = dict.fromkeys(str_1,'(value)')
print dic
{'key2': '(value)', 'key1': '(value)'}

5. get() 使用get 方法提取字典中没有的项返回指定内容

相对宽松的环境,用于容错,提高灵活性

# coding=utf-8

d = {'a':1,'b':2}
#print d['c']
print d.get('c')
None