元组 tuple
用途:存储多个类型的值(不能存可变类型)
定义方式:通过小括号存储数据,数据之间通过逗号分隔(值不能被改变)
定义容器类型的时候如果里面只有一个值,在值的后面加上一个逗号,在元组中,不加就是字符串
元组的类型总结:有序,不可变,存多个值
t1 = ('a','b','c','a') # t1 = tuple(('a','b','c'))
print(t1)
print(type(t1))
打印结果:
('a', 'b', 'c', 'a')
<class 'tuple'>
常用方法
1、索引取值
t1 = ('a','b','c','a')
print(t1[0])
打印结果:
a
2、索引切片
t1 = ('a','b','c','a')
print(t1[0:2])
打印结果:
('a', 'b')
3、成员运算
t1 = ('a','b','c','a')
print('a' in t1 )
print('a'not in t1 )
打印结果:
True
False
4、len:获取当前元组中的元素个数
t1 = ('a','b','c','a')
print(len(t1))
打印结果:
4
5、count:统计当前元组中的某个元素的个数
t1 = ('a','b','c','a')
print(t1.count('a'))
打印结果:
2
6、index:获取当前元组的索引值,还可以指定查找范围
t1 = ('a','b','c','a')
print(t1.index('b'))
打印结果:
1
字典 dict
用途:字典的名称指出了这种数据结构的用途。普通图书适合按从头到尾的顺序阅读,如果你愿意,可快速翻到任何一页,这有点像Python中的列表。字典(日常生活中的字典和Python字典)旨在让你能够轻松地找到特定的单词(键),以获悉其定义(值)
定义方式:通过大括号来存储数据,通过key:value来定义键值对数据,每个键值对中间通过逗号分隔
key:一定是不可变类型 value:可以是任何类型
# 1、
d1 = {'name':'egon','age':'84'}
print(d1)
# 2、
d2 = dict({'name':'egon','age':'84'})
print(d2)
# 3、
l1 = ['name','age']
l2 = ['egon','84']
z1 = zip(l1,l2)
print(dict(z1))
打印结果:
{'name': 'egon', 'age': '84'}
{'name': 'egon', 'age': '84'}
{'name': 'egon', 'age': '84'}
常用方法
1、按照key:value映射关系取值(可存可取可改)
d1 = {'name':'egon','age':'84'}
print(d1['name'])
print(d1['age'])
d1['name'] = 'tank'
d1['gender'] = 'male'
print(d1)
打印结果:
egon
84
{'name': 'tank', 'age': '84', 'gender': 'male'}
2、成员运算in,not in
d1 = {'name':'egon','age':'84'}
print('egon' in d1)
打印结果:
False
3、len:获取字典里键值对的个数
d1 = {'name':'egon','age':'84'}
print(len(d1))
打印结果:
2
4、get:获取指定key的值,如果不存在,默认返回None
d1 = {'name':'egon','age':'84'}
print(d1.get('gender'))
# 可以通过第二个参数修改默认返回的内容
print(d1.get('gender','no'))
打印结果:
None
no
5、keys、value、items:结合for循环使用
d1 = {'name':'egon','age':'84'}
print(d1.keys()) # 返回所有的key
print(d1.values()) # 返回所有的value
print(d1.items()) # 返回所有的键值对,返回时列表元素
for keys in d1.keys():
print(keys)
for value in d1.values():
print(value)
for items in d1.items():
print(items)
打印结果:
dict_keys(['name', 'age'])
dict_values(['egon', '84'])
dict_items([('name', 'egon'), ('age', '84')])
name
age
egon
84
('name', 'egon')
('age', '84')
6、pop:指定key进行删除,有返回值
d1 = {'name':'egon','age':'84'}
d1.pop('name')
print(d1)
打印结果:
{'age': '84'}
7、popitem:随机删除一组键值对,返删除键值对返回的是元组
d1 = {'name':'egon','age':'84'}
d1.popitem()
print(d1)
打印结果:
{'name': 'egon'}
8、update:用薪字典替换旧字典
d1 = {'name':'egon','age':'84'}
d2 = {'1':'a'}
d1.update(d2)
print(d1)
d1.update({'name':'tank'})
print(d1)
打印结果:
{'name': 'egon', 'age': '84', '1': 'a'}
{'name': 'tank', 'age': '84', '1': 'a'}
9、fromkeys:生成一个新字典,第一个参数他会以第一个参数的各个元素为key,以后第二个参数为值,组成一个新字典
d1 = {'name':'egon','age':'84'}
print(dict.fromkeys([1,2,3],['ke','k1']))
打印结果:
{1: ['ke', 'k1'], 2: ['ke', 'k1'], 3: ['ke', 'k1']}
10、setdefault:key不存在返回新增键值对的value,存在就返回存在的值
d1 = {'name':'egon'}
print(d1.setdefault('name',1))
print(d1)
打印结果:
egon
{'name': 'egon'}
集合
用途:去重,关系运算
定义方式:通过大括号存储数据,每个元素通过逗号分隔
定义空集合必须使用set()来定义
类型总结:无序(没有索引),可变,存多个值
可以增加删除,但不可以更改
常用方法:
合集:|
交集:&
差集:-
对称差集:^
# 集合中不可能出现两个相同的元素
python_student = {'egon', 'jason', 'tank', 'owen', 'egon'}
linux_student = {'frank', 'alex', 'egon'}
go_student = {'egon'}
print(python_student)
print(python_student | linux_student)
print(python_student & linux_student)
print(python_student - linux_student)
print(linux_student - python_student)
print(python_student ^ linux_student)
print(python_student > go_student) #判断父集
print(python_student < linux_student) #判断子集
打印结果:
{'jason', 'egon', 'tank', 'owen'}
{'tank', 'alex', 'owen', 'jason', 'egon', 'frank'}
{'egon'}
{'jason', 'tank', 'owen'}
{'frank', 'alex'}
{'alex', 'frank', 'tank', 'owen', 'jason'}
True
False
类型总结:
