之前总结了Python列表,这篇总结Python的元组,字典和集合。
一 元组 tuple
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
(1)创建元组
列表使用[ ]创建,而元组使用(),元素用 “,” 分割。不使用()也可以表示元组
tup1 = () # 空元组
tup2 = ('A', 2, True, 8.8)
tup3 = 'A', 2, True, 8.8
注意:当元组只有一个元素,需要在元素后面添加逗号,否则括号会被当作运算符使用:
tup = (1,)
tup2 = (1)
print(type(tup)) #
print(type(tup2)) #
(2)访问元组
和列表一样,通过索引访问元素,切片等规则同样适用:
tup1 = ('A', 'B', 'C', 'D', 'E')
print(tup1[2])
print(tup1[1:4])
输出:
C
('B', 'C', 'D')
(3)修改元组
元组中的元素值是不允许修改的,但是我们却可以通过对整个元素重新赋值,达到效果:
tup1 = ('A', 'B', 'C', 'D', 'E')
# tup1[0] = "666" 抛异常 TypeError: 'tuple' object does not support item assignment
tup1=('666', 'B', 'C', 'D', 'E')
print('最新的tuple: ',tup1)
输出
最新的tuple: ('666', 'B', 'C', 'D', 'E')
(4)常见用法
- len() 函数,求元组长度
- in 判断元素是否在元组里
- for 遍历
- 切片
上面这些操作,和列表一样,参照列表写即可。
二 字典 dict
Python字典是一种可变容器,储存一系列键值对,键和值一一对应,可以使用键来访问与之相关联的值。
Python对键的要求是:不可变切唯一,也就是说键只能用str,int等不可变对象。对值没有要求,可以储存任何值。
(1)定义字典
字典的每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。
d = {key1 : value1, key2 : value2 }
(2)访问字典
通过键去访问对应的值,如果键不存在,会抛出KeyError:
d = {'name': '小王', 'age': "18"}
print('name: '+d['name']) #name: 小王
print('age: '+d['age']) #age: 18
print(d['66']) #KeyError: '66'
也可以动态增加键值对:
d['height']="180"
print(d) #{'name': '小王', 'age': '18', 'height': '180'}
(3)修改字典
通过键去修改对应的值:
d = {'name': '小王', 'age': '18', 'height': '180'}
d['name'] = '老王' # 修改
del d['age'] # 删除键值对 pop可以返回删除的值
print(d)
d.clear() # 清空字典
print(d)
输出:
{'name': '老王', 'height': '180'}
{}
(4)遍历字典
①获取所有键值对信息:
d = {'name': '小王', 'age': '18', 'height': '180'}
for k,v,in d.items():
print('键为:{},值为:{}'.format(k,v))
输出为:
键为:name,值为:小王
键为:age,值为:18
键为:height,值为:180
②获取所有键的信息:
d = {'name': '小王', 'age': '18', 'height': '180'}
for k in d.keys():
print('键为:{}'.format(k))
if k == 'age':
print("找到你的年龄啦~"+d[k])
输出:
键为:name
键为:age
找到你的年龄啦~18
键为:heit
③获取所有值:
d = {'name': '小王', 'age': '18', 'height': '180'}
for v in d.values():
print('值为:{}'.format(v))
if v == '180':
print("这是height 吧~"+v)
输出:
值为:小王
值为:18
值为:180
这是height 吧~180
三 集合set
集合(set)是一个无序不重复元素的序列。
(1) 创建集合set
有两种方式,使用{ } 或者set(list)方式:
s = set([1, 2, 3, 4])
print(s)
s2 = {1, 2, 3, 4}
print(s2)
s3 = set() # 空集合,不能用s3={},这是空字典
print(s3)
输出为:
{1, 2, 3, 4}
{1, 2, 3, 4}
set()
(2) 集合基本操作
- 添加元素,使用add方法,因为set自带去重功能,所以添加重复元素没有效果,或者使用updata,可以添加列表,元组,字典等
s = set() # 空集合 ,不能用s={},这是空字典
s.add(1)
s.add(1)
s.add(1)
print(s) # {1}
s.update(['22','33'])
print(s) # {'33', 1, '22'}
- 删除元素使用remove,或者discard。前者当元素不存在会报错,后者不会。
s=set([1,2,3,4,5])
s.remove(1)
# s.remove(6) KeyError: 6
print(s) # {2, 3, 4, 5}
s.discard(2)
s.discard(6)
print(s) # {3, 4, 5}
- pop 方法是随机删除一个元素
- len 求长度
- clear 清空set
- in 判断元素是否存在
- for 循环
总结出不少东西,但其实常用的没有几个方法。大部分有个印象,用到了再查,要比直接全记住效果好很多~