列表
方法 | 含义 |
---|---|
list.append(obj) | 向列表中添加一个对象obj |
list.count(obj) | 返回一个对象obj在列表中出现的次数 |
list.extend(seq) | 把序列seq的内容添加到列表中 |
list.index(obj,i=0,j=len(list)) | 返回list[k]==obj的k值,并且k的范围在i<=k |
list.insert(index.obj) | 在索引量为index的位置插入对象obj |
list.pop(index=-1) | 删除并返回指定位置的对象,默认是最后一个对象 |
list.remove(obj) | 从列表中删除对象obj |
list.reverse() | 原地翻转列表 |
list.sort(func=None,key=None,reverse=False) | 以指定的方式排序列表中的成员,如果func和key参数指定,则按照指定的方式比较各个元素,如果reverse标志被置为True,则列表以反序排列 |
举例:
>>> value=[11]
>>> value
[11]
>>> value.insert(1,'insert')
>>> value
[11, 'insert']
>>> value.append('append1')
>>> value
[11, 'insert', 'append1']
>>> value.append('append2','append3')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: append() takes exactly one argument (2 given)
浅拷贝与深拷贝
非容器类型(比如数字,字符串和其他“原子”类型的对象,像代码,类型和xrange对象等)没有被拷贝一说,浅拷贝是用完全切片操作来完成的;如果元祖变量只包含原子类型对象,对它的深拷贝将不会进行。浅拷贝和沈拷贝都可以在copy模块中找到,copy模块中只有两个函数可用:copy进行浅拷贝操作,deepcopy进行深拷贝操作。
字典
字典是Python中唯一的映射类型,映射类型对象里哈希值(键)和指向的对象(值)是一对多的关系,一个字典对象是可变的,是一个容器类型能存储任意个数的Python对象。
>>> dict1={}
>>> dict2={'level':1,'number':80}
>>> dict1,dict2
({}, {'level': 1, 'number': 80})
>>> dict3={}.fromkeys(('A','B'),100)
>>> dict3
{'A': 100, 'B': 100}
>>> dict4={}.fromkeys(('C','D'))
>>> dict4
{'C': None, 'D': None}
>>> for key in dict3.keys():
... print('key=%s,value=%d' %(key,dict3[key]))
...
key=A,value=100
key=B,value=100
>>> dict3[C]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'C' is not defined
>>> 'A' in dict3
True
>>> dict3['A']=101
>>> dict3
{'A': 101, 'B': 100}
>>> dict3['C']=100
>>> dict3
{'A': 101, 'B': 100, 'C': 100}
>>> del dict3['B']
>>> dict3
{'A': 101, 'C': 100}
>>> dict3.pop('A')
101
>>> dict3
{'C': 100}
>>> dict3['D']=100
>>> dict3
{'C': 100, 'D': 100}
>>> dict3.clear()
>>> dict3
{}
>>> dict3['A']=100
>>> dict3['B']=100
>>> dict3
{'A': 100, 'B': 100}
>>> del dict3
>>> dict3
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'dict3' is not defined