python基础(5)—列表、元组、集合和字典

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、元组

元组操作与列表类似,区别在于:

  1. 元组创建用小括号()或者tuple()
tuple1 = ('physics', 'chemistry', 1997, 2000)
tuple2 = tuple([1, 2, 3, 4, 5])
tuple = ()  # 空元组
list_init = tuple()  # 空元组
  1. 元组内的值不可更改,不可增加,不可删除,但元组本身可以删除
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 创建字典

  1. 字典是另一种可变容器模型,且可存储任意类型对象。
  2. 字典的每个键值 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()方法

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值