一、列表
对于列表a=[1,2,3,4,5,5,7],我们有:
- a.append(num)
是指对列表做“在后面添加一个数字num的作用”。
- a.insert(i,num)
是指在列表a中的位置i处插入数字num。
- a.count(num)
对出现于a中的数字bnum进行计数。
- a.remove(num)
对列表进行移除数字num的操作。
a.reverse()
对列表a进行反转操作。
- a.extend(b)
将列表b添加到列表a后面。
del a[num]
删除列表a中num处的数字。
2.1 将列表用作栈和队列
栈:后进去的第一个出来。
队列:先进先出。
a.pop();
a.pop(i);//弹出第i个元素。
a.pop(0);//弹出第一个元素
三、元组
元组是由数个逗号分割的值组成。
>>> a = 'Fedora', 'ShiYanLou', 'Kubuntu', 'Pardus' >>> a ('Fedora', 'ShiYanLou', 'Kubuntu', 'Pardus') >>> a[1] 'ShiYanLou' >>> for x in a: ... print(x, end=' ') ... Fedora ShiYanLou Kubuntu Pardus
你可以对任何一个元组执行拆封的操作
我们使用的函数是divmod(a,b)函数,其中divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
>>> divmod(15,2) (7, 1) >>> x, y = divmod(15,2) >>> x 7 >>> y 1
但要注意,元组是不可变的类型,这意味着你不能在元组内删除或添加或编辑任何值。否则将会报错。
>>> a = (1, 2, 3, 4) >>> del a[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object doesn't support item deletion
四、集合
集合是一个无序不重复元素的集,基本功能是测试和消除重复的元素。
创建集合:通过set()函数,注意,想要创建空集合,使用的是set()而不是{},后者用来创建字典的,
集合常见的操作:
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'} >>> print(basket) # 你可以看到重复的元素被去除 {'orange', 'banana', 'pear', 'apple'} >>> 'orange' in basket True >>> 'crabgrass' in basket False >>> # 演示对两个单词中的字母进行集合操作 ... >>> a = set('abracadabra') >>> b = set('alacazam') >>> a # a 去重后的字母 {'a', 'r', 'b', 'c', 'd'} >>> a - b # a 有而 b 没有的字母 {'r', 'd', 'b'} >>> a | b # 存在于 a 或 b 的字母 {'a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'} >>> a & b # a 和 b 都有的字母 {'a', 'c'} >>> a ^ b # 存在于 a 或 b 但不同时存在的字母 {'r', 'd', 'b', 'm', 'z', 'l'}
同时,从集合中添加uo弹出元素:
>>> a = {'a','e','h','g'} >>> a.pop() # pop 方法随机删除一个元素并打印 'h' >>> a.add('c') >>> a {'c', 'e', 'g', 'a'}
五、字典
字典:是无序的键值对,其中,同一个字典内的键必须是互不相同的。
一对大括号{}的可以创建一个字典,
主要形式:
>>> data = {'kushal':'Fedora', 'kart_':'Debian', 'Jace':'Mac'} >>> data {'kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian'} >>> data['kart_'] 'Debian'
创建新的键值对:
>>> data['parthan'] = 'Ubuntu' >>> data {'kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'}
使用del删除键值对:
>>> del data['kushal'] >>> data {'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'
使用 in
关键字查询指定的键是否存在于字典中。
>>> 'ShiYanLou' in data False
如果你想要遍历一个字典,使用字典的 items()
方法。
>>> data {'Kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'} >>> for x, y in data.items(): ... print("{} uses {}".format(x, y)) ... Kushal uses Fedora Jace uses Mac kart_ uses Debian parthan uses Ubuntu
但大多数时候,我们需要往字典中添加元素,我们首先需要判断这个元素是否存在,,不存在则创建默认值,但是如果在循环中执行这个操作,会减低程序的性能,为此,我们可以使用:dict.setdefault(key, default)
完成这个事情。
>>> data = {} >>> data.setdefault('names', []).append('Ruby') >>> data {'names': ['Ruby']} >>> data.setdefault('names', []).append('Python') >>> data {'names': ['Ruby', 'Python']} >>> data.setdefault('names', []).append('C') >>> data {'names': ['Ruby', 'Python', 'C']}
如果你想要在遍历列表(或任何序列类型)的同时获得元素索引值,你可以使用 enumerate()
。
>>> for i, j in enumerate(['a', 'b', 'c']): ... print(i, j) ... 0 a 1 b 2 c
也许需要同时遍历两个序列类型,你可以使用 zip()
函数。
>>> a = ['Pradeepto', 'Kushal'] >>> b = ['OpenSUSE', 'Fedora'] >>> for x, y in zip(a, b): ... print("{} uses {}".format(x, y)) ... Pradeepto uses OpenSUSE Kushal uses Fedora