列表
列表 list,使用 [] 定义,[] 中的各个元素,用逗号分隔。
list = [1, 2, 3, 4, 5 ]
列表也可以包含列表。
list = [1,2,[3,4]]
列表支持增删改查
list[0]#通过索引获取一个值
list[1:3]#左开右闭
list[1:-1]#忽略第一个和最后一个
list[begin:end:step]#
list.append(233)#追加
list.insert(0,"hello")#插入指定位置
list.remove("hello")#直接删除
list.pop(3)#根据索引值删除内容,返回删除的值
del list[0]#根据索引值删除内容,没有返回
del list #删除list
内置函数
cmp(list1, list2)#比较两个列表的元素
len(list)#列表元素个数
max(list)#返回列表元素最大值
min(list)#返回列表元素最小值
list(seq)#将元组转换为列表
方法
list.append(obj)#在列表末尾添加新的对象
list.count(obj)#统计某个元素在列表中出现的次数
list.extend(seq)#在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)#从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)#将对象插入列表
list.pop([index=-1])#移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)#移除列表中某个值的第一个匹配项
list.reverse()#反向列表中元素
list.sort(cmp=None, key=None, reverse=False)#对原列表进行排序
元组
tuple使用()定义,()中的元素使用逗号隔开。元组也可以通过索引和切片获取元素的值,方法与列表类似,不同之处在于元组的元素不能修改。 内置函数
cmp(tuple1, tuple2)#比较两个元组元素。
len(tuple)#计算元组元素个数。
max(tuple)#返回元组中元素最大值。
min(tuple)#返回元组中元素最小值。
tuple(seq)#将列表转换为元组。
字典
字典是另一种可变容器模型,可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
key一般唯一,value可以不唯一。key必须是不可变数据类型,如字符串,数字或元组。value可以是任意数据类型。 内置函数
cmp(dict1, dict2)#比较两个字典元素。
len(dict)#计算字典元素个数,即键的总数。
str(dict)#输出字典可打印的字符串表示。
type(variable)#返回输入的变量类型,如果变量是字典就返回字典类型。
内置方法
dict.clear()#删除字典内所有元素
dict.copy()#返回一个字典的浅复制
dict.fromkeys(seq[, val])#创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
dict.get(key, default=None)#返回指定键的值,如果值不在字典中返回default值
dict.has_key(key)#如果键在字典dict里返回true,否则返回false
dict.items()#以列表返回可遍历的(键, 值) 元组数组
dict.keys()#以列表返回一个字典所有的键
dict.setdefault(key, default=None)#和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)#把字典dict2的键/值对更新到dict里
dict.values()#以列表返回字典中的所有值
pop(key[,default])#删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem()#返回并删除字典中的最后一对键和值。
集合
集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。集合对象支持 union(联合),intersection(交),difference(差)和 sysmmetric difference(对称差集)等数学运算。
大括号或 set() 函数可以用来创建集合。
set集合类需要的参数必须是迭代器类型的,如:序列、字典等,然后转换成无序不重复的元素集。由于集合是不重复的,所以可以对字符串、列表、元组进行去重操作。
创建空集合,必须使用 set() 而不是 {}。后者用于创建空字典
集合的添加有两种方式,分别是add和update。但是它们在添加元素时是由区别的
add()方法 把要传入的元素作为一个整体添加到集合中:
>>> s=set('one')
>>> s
{'e', 'o', 'n'}
>>> s.add('two')
>>> s
{'e', 'two', 'o', 'n'}
update()方法 是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的字符。可以一次添加多个值:
>>> s=set('one')
>>> s
{'e', 'o', 'n'}
>>> s.update('two')
>>> s
{'e', 'n', 't', 'w', 'o'}
集合的删除操作使用的方法跟列表是一样的,使用的也是remove方法。
set.remove(element) element :表示要查找并删除的元素 函数作用:在集合set中查找element元素,如果存在则删除;如果没找到,则报错。
set.discard(element) element :表示要查找并删除的元素 函数作用:在集合set中查找element元素,如果存在则删除;如果没找到,则什么也不做。
s.pop() 函数作用:删除并返回set类型的s中的一个不确定的元素,如果为空引发KeyError错误。
s.clear() 函数作用:清空s集合中的所有元素
其他方法
| 函数 | 说明 |
|---|---|
| len(s) | set 的长度 |
| x in s | 测试 x 是否是 s 的成员 |
| x in s | 测试 x 是否不是 s 的成员 |
| s.issubset(t) | 测试是否 s 中的每一个元素都在 t 中 |
| s.issuperset(t) | 测试是否 t 中的每一个元素都在 s 中 |
| s.union(t) | 返回一个新的 set 包含 s 和 t 中的每一个元素 |
| s.intersection(t) | 返回一个新的 set 包含 s 和 t 中的公共元素 |
| s.difference(t) | 返回一个新的 set 包含 s 中有但是 t 中没有的元素 |
| s.symmetric_difference(t) | 返回一个新的 set 包含 s 和 t 中不重复的元素 |
| s.copy() | 返回 set “s”的一个浅复制 |
Python中求集合的交集使用的符号是“&”,返回连个集合的共同元素的集合,即集合的交集。
Python中求集合的并集用的是符号“|”,返回的是两个集合所有的并去掉重复的元素的集合。
Python中差集使用的符号是减号“-”。
不可变集合frozenset,类似于字符串、元组。如果试图改变不可变集合中的元素,就会报AttributeError错误。
不可变集合,除了内容不能更改外,其他功能及操作跟可变集合set一样。