python容器
1.List:
>>>L=[1,2,3,4]
1.修改列表:给元素赋值
>>>L[0]=2 L=[2,2,3,4,]
2.删除元素
>>>del L[0] L=[2,3,4]
3.给切片赋值
>>>L=list(‘Joker’) L=['J', 'o', 'k', 'e', 'r']
列表方法
>>>L=[1,2,3,4]
1.append 方法append用于将一个对象附加到列表末尾。
>>>L.append(5) >>>L [1,2,3,4,5]
2.clear 方法clear就地清空列表的内容。
>>>L.clear() >>>L []
3.copy 方法 copy 复制列表。前面说过,常规复制只是将另一个名称关联到列表。
>>>L2=L.copy() >>>L2 [1,2,3,4]
4.count 方法count计算指定的元素在列表中出现了多少次.
>>>L.count(1) 1
5.extend 方法extend让你能够同时将多个值附加到列表末尾,为此可将这些值组成的序列作为参数提供给方法extend。
>>>L2=[5,6,7] >>>L.extend(L2) [1,2,3,4,5,6,7]
6.index 方法index在列表中查找指定值第一次出现的索引。
>>>L.index(1) 0
7.insert 方法insert用于将一个对象插入列表。
>>>L.insert(0,0) >>>L [0,1,2,3,4]
8.pop 方法pop从列表中删除一个元素(末尾为最后一个元素),并返回这一元素。
>>>L.pop() 4 >>>L [1,2,3]
9.remove 方法remove用于删除第一个为指定值的元素。
>>>L.remove(2) >>>L [1,3,4]
10.reverse 方法reverse按相反的顺序排列列表中的元素。
>>>L.reverse() >>>L [4,3,2,1]
11.sort 方法sort用于对列表就地排序。
>>>L.sort() >>>L [1,2,3,4]
12.高级排序 方法sort接受两个可选参数:key和reverse。
>>> x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']
>>> x.sort(key=len)
>>> x
['add', 'acme', 'aerate', 'abalone', 'aardvark']
>>> x = [4, 6, 2, 1, 7, 9]
>>> x.sort(reverse=True)
>>> x
[9, 7, 6, 4, 2, 1]
2.tuple(不可改变的系列)
1.index
2.count
3.Dict
1.clear 方法clear删除所有的字典项
>>>d ={'age': 42, 'name': 'Gumby'}
>>>d.clear()
{}
2.copy 方法copy返回一个新字典,其包含的键-值对与原来的字典相同
>>> x = {'username': 'admin', 'machines': ['foo', 'bar', 'baz']}
>>> y = x.copy()
>>> y['username'] = 'mlh'
>>> y['machines'].remove('bar')
>>> y
{'username': 'mlh', 'machines': ['foo', 'baz']}
>>> x
{'username': 'admin', 'machines': ['foo', 'baz']}
Deepcopy
>>> from copy import deepcopy
>>> d = {}
>>> d['names'] = ['Alfred', 'Bertrand']
>>> c = d.copy()
>>> dc = deepcopy(d)
>>> d['names'].append('Clive')
>>> c
{'names': ['Alfred', 'Bertrand', 'Clive']}
>>> dc
{'names': ['Alfred', 'Bertrand']}
3.fromkeys 方法fromkeys创建一个新字典,其中包含指定的键,且每个键对应的值都是None。
>>> dict.fromkeys(['name', 'age'])
{'age': None, 'name': None}
4.get 方法get为访问字典项提供了宽松的环境。通常,如果你试图访问字典中没有的项,将引发错误
>>> d = {}
>>> print(d.get('name'))
None
5.items 方法items返回一个包含所有字典项的列表,其中每个元素都为(key, value)的形式。字典项在列表中的排列顺序不确定。
>>> d = {'title': 'Python Web Site', 'url': 'http://www.python.org', 'spam': 0}
>>> d.items()
dict_items([('url', 'http://www.python.org'), ('spam', 0), ('title', 'Python Web Site')])
6. keys 方法keys返回一个字典视图,其中包含指定字典中的键。
7. pop 方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除。
>>> d = {'x': 1, 'y': 2}
>>> d.pop('x')
1
>>> d
{'y': 2}
8.popitem 方法popitem类似于list.pop,但list.pop弹出列表中的最后一个元素,而popitem随机地弹出一个字典项,因为字典项的顺序是不确定的.
>>> d = {'url': 'http://www.python.org', 'spam': 0, 'title': 'Python Web Site'}
>>> d.popitem()
('url', 'http://www.python.org')
>>> d
{'spam': 0, 'title': 'Python Web Site'}
9.setdefault 方法setdefault有点像get,因为它也获取与指定键相关联的值,但除此之外,setdefault还在字典不包含指定的键时,在字典中添加指定的键-值对。
>>> d = {}
>>> d.setdefault('name', 'N/A')
'N/A'
>>> d
{'name': 'N/A'}
>>> d['name'] = 'Gumby'
>>> d.setdefault('name', 'N/A')
'Gumby'
>>> d
{'name': 'Gumby'}
10.update 方法update使用一个字典中的项来更新另一个字典。
>>> d = {
... 'title': 'Python Web Site',
... 'url': 'http://www.python.org',
... 'changed': 'Mar 14 22:09:15 MET 2016'
... }
>>> x = {'title': 'Python Language Website'}
>>> d.update(x)
>>> d
{'url': 'http://www.python.org', 'changed':
'Mar 14 22:09:15 MET 2016', 'title': 'Python Language Website'}
11.values 方法values返回一个由字典中的值组成的字典视图。不同于方法keys,方法values返回的视图可能包含重复的值。
>>> d = {}
>>> d[1] = 1
>>> d[2] = 2
>>> d[3] = 3
>>> d[4] = 1
>>> d.values()
dict_values([1, 2, 3, 1])
4.Str(不可改变)
所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串。
1.center
方法center通过在两边添加填充字符(默认为空格)让字符串居中。
>>> "The Middle by Jimmy Eat World".center(39)
' The Middle by Jimmy Eat World '
>>> "The Middle by Jimmy Eat World".center(39, "*")
'*****The Middle by Jimmy Eat World*****'
2.find
方法find在字符串中查找子串。如果找到,就返回子串的第一个字符的索引,否则返回-1。
>>> title = "Monty Python's Flying Circus"
>>> title.find('Monty')
0
3.join
join是一个非常重要的字符串方法,其作用与split相反,用于合并序列的元素。
>>> seq = ['1', '2', '3', '4', '5']
>>>sep='+'
>>> sep.join(seq) # 合并一个字符串列表
'1+2+3+4+5'
4.lower(upper,title)
方法lower返回字符串的小写版本。
>>> 'Trondheim Hammer Dance'.lower()
'trondheim hammer dance'
5.replace
方法replace将指定子串都替换为另一个字符串,并返回替换后的结果。
>>> 'This is a test'.replace('is', 'eez')
'Theez eez a test'
6.split
split是一个非常重要的字符串方法,其作用与join相反,用于将字符串拆分为序列。
>>> '1+2+3+4+5'.split('+')
['1', '2', '3', '4', '5']
>>> '/usr/bin/env'.split('/')
['', 'usr', 'bin', 'env']
>>> 'Using the default'.split()
['Using', 'the', 'default']
7.strip
方法strip将字符串开头和末尾的空白(但不包括中间的空白)删除,并返回删除后的结果。
>>> ' internal whitespace is kept '.strip()
'internal whitespace is kept'
8.translate
方法translate与replace一样替换字符串的特定部分,但不同的是它只能进行单字符替换。这个方法的优势在于能够同时替换多个字符,因此效率比replace高。
>>> table = str.maketrans('cs', 'kz', ' ')
>>> 'this is an incredible test'.translate(table)
'thizizaninkredibletezt'
9.判断字符串是否满足特定的条件
很多字符串方法都以is打头,如isspace、isdigit和isupper,它们判断字符串是否具有特定
的性质(如包含的字符全为空白、数字或大写)。如果字符串具备特定的性质,这些方法就返回
True,否则返回False。