导航
1、列表
1.1 创建列表
创建列表用中括号[]或者list()。如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = list([1, 2, 3, 4, 5])
list_init = [] # 空列表
list_init = list() # 空列表
1.2 列表取值
列表名[索引],索引从0开始:
list = ['physics', 'chemistry', 1997, 2000]
value = list[0] # 'physics'
value = list[-1] # 2000
# 切片取值
vlist = list[1:] # ['chemistry', 1997, 2000]
vlist = list[:-2] # ['physics', 'chemistry', 1997]
vlist = list[1:2] # ['chemistry', 1997]
1.3 列表数据修改
可以通过赋值对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,如下所示:
list = ['physics', 'chemistry', 1997, 2000]
list[0] = 'math' # 更新'physics'为'math'
list.append(2000) # 在列表最后增加一项'chemistry'
# 插入数据
list.insert(index, 'body') # 在index后面插入'body'项
list.extend([2009, 2012]) # 在列表后面扩展新列表
# 删除数据
list.remove('chemistry') # 删除第一个匹配到的'chemistry'
list.pop(index) # 删除索引为index的项,默认是最后一项
del list[index] # 删除索引为index的项
# 列表排序
list.sort(cmp=None, key=None, reverse=False) # 列表排序
list.reverse() # 反向排序列表
1.4 列表统计
cmp(list1, list2) # 比较两个列表的元素
len(list) # 列表元素个数
max(list) # 返回列表元素最大值
min(list) # 返回列表元素最小值
list.count(value) # 统计某个元素在列表中出现的次数
2、元组
元组操作与列表类似,区别在于:
- 元组创建用小括号()或者tuple()
tuple1 = ('physics', 'chemistry', 1997, 2000)
tuple2 = tuple([1, 2, 3, 4, 5])
tuple = () # 空元组
list_init = tuple() # 空元组
- 元组内的值不可更改,不可增加,不可删除,但元组本身可以删除
tuple1 = ('physics', 'chemistry', 1997, 2000)
tuple1[0] = 'math' # 报错,不允许修改元组
del tuple1 # 删除元组
3、集合
集合(set)是一个无序的不重复元素序列。
集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
3.1 创建集合
可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。
创建格式:
parame = {value01, value02, ...}
parame = set([value01, value02, ...])
parame = set() # 创建空集,必须用set(),因为{}会创建空字典
3.2 集合运算
a =set('abracadabra') # 因为集合不会重复,所以a={'a','r','b','c','d'}
b =set('alacazam') # 同理b={'m', 'z', 'c', 'l', 'a'}
# 差集,c={'r','d','b'}
c = a - b
c = a.difference(b)
c = a.difference_update(b) # a={'r','d','b'},c=None
# 并集,c={'a','c','r','d','b','m','z','l'}
c = a | b
c = a.union(b)
# 交集,c={'a','c'}
c = a & b
c = a.intersection(b)
c = a.intersection_update(b) # a={'a','c'},c=None
# 反交集,c={'r','d','b','m','z','l'}
c = a ^ b
c = a.symmetric_difference(b)
c = a.symmetric_difference_update(b) # a={'r','d','b','m','z','l'},c=None
3.3 集合操作
s = {v1, v2, v3}
# 添加元素
s.add(x) # 添加单个元素
s.update([x1, x2]) # 添加单个/多个元素.
# 移除元素
s.remove(x) # 如果元素不存在会报错
s.discard(x) # 元素不存在也不会报错
s.pop() # 随机删除一个元素
s.clear() # 清空集合
# 其它操作
x in s # 判断元素是否在集合中,返回bool值
s.len(x) # 统计元素个数
s.copy() # 集合复制
s.isdisjoint(a) # 两个集合是否有相同元素,返回bool值
s.issubset(a) # s是否为a的子集,返回bool值
s.issuperset(a) # a是否是s的子集,返回bool值
4、字典
4.1 创建字典
- 字典是另一种可变容器模型,且可存储任意类型对象。
- 字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
# 创建字典d,有两对键值分别为key1:value1,key2:value2
d = {'key1' : value1, 'key2' : value2 }
# 创建字典d,有两对键值分别为key1:100,key2:100
d = dict.fromkeys(['key1', 'key2'], 100) # 若不设置默认值,则默认所有value=None
# 注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。
4.2 字典取值
d = {'key1' : value1, 'key2' : value2 }
# 通过key取value值,key不存在会报错
value = d['key1'] # value = value1
value = d['key3'] # 报错
# get(key, default)取值,若key不存在则返回default
value = d.get('key2', default=None) # value = value2
value = d.get('key3', default=None) # value = None
# 遍历
value = d.keys() # 返回所有key的列表
value = d.values() # 返回所有value的列表
value = d.items() # 返回所有(key, value)的列表
4.3 字典数据修改
d = {'key1' : value1, 'key2' : value2 }
# 增加键值对
d['key3'] = value3 # 增加键值对key3:value3
# 更新字典
d['key3'] = None # 修改key3的值为None
d.update({'key3': True, 'key4': False}) # 修改key3的值为True,增加key4:False
d.setdefault('key4', default=None) # 设置key4的值为None,如果没有key4则增加key4:None
# 删除字典数据
a = d.pop('key3') # 删除key为'key3'的键值对,返回key3的value
a = d.popitem() # 删除字典中的最后一对键值,返回其值
del d['key3'] # 删除key为'key3'的键值对
tinydict.clear() # 清空字典
del tinydict # 删除字典
4.4 字典统计
字典统计方法和列表基本相同,但没有max(),min()和count()方法