第一部分:元组
1、元组定义
:一个元组可以存储多个数据,且元组内的数据是不能修改的
特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同数据类型 注意:如果定义的元组只有一个数据,那么这个数据的后面也要带逗号,否则数据类型就是这个数据的类型,不再是元组
2、元组的常见操作
注意:元组数据不支持修改,只支持查找,具体如下:
2.1、按下标查找
2.2、intex():查找某个数据,如果数据存在就返回对应的下标,否则报错
2.3、count():统计某个数据在当前元组中出现的次数
2.4、len():统计元组中数据的个数
再,注意:元组内如果有列表,修改列表中的数据是支持的
# 定义元组
t1 = ('you', 'are', 666, 'good')
print(t1[2]) # 元组可以利用下标输出特定数据
t2 = ('good',) # 逗号不可省略,否则t2的数据类型是str,不再是tuple
# print(type(t2))
# index()
print(t1.index(666))
# count()
print(t1.count('you')) # 输出元组中该数据的个数
# len()
print(len(t1)) # 元组中所有的数据个数
# 元组中的数据不可以直接修改,但是如果元组中含有列表,就可以修改列表数据
t3 = ('cool', ['haha', 'jizhi', 'ru', 'wo'],)
# t3[0] = 'good' # 出错!
t3[1][2] = 'good' # 列表内容可以修改
print(t3)
第二部分:字典
1、字典定义
:字典里面的数据是以键值对形式出现的,字典数据和数据顺序没有关系,故其不支持下标查找,后期无论数据如何变化,只需要
安装对应的键的名字查找数据即可
特点:符号为大括号;数据以键值对出现;各个键值对之间用逗号隔开。例:{键名1:值1, 键名2:值2}
- 注意:字典为可变数据类型,空字典为:k2 = {}
2、字典常见操作:
2.1、增加:语法:字典序列[key]=值;如果key存在则修改其对应值,如果key不存在则新增此键值对。
2.2、删除:del 字典序列[需删除key]:删除字典或删除字典中指定键值对
clear():清空字典
查找:key值查找:print(字典序列[key])
get():字典序列.get(key,默认值);如果当前查找的key不存在则返回第二个参数(默认值),若省略第二个参数
则返回None
keys():返回键值对中所有的键值
values():返回字典中的所有value
items():返回字典中的所有键值对(以成队的形式呈现)
# 字典的定义
k1 = {'name': 'Tom', 'gender': 'men', 'age': '24'}
# print(k1)
# 键值对增加
k1['score'] = 98
# print(k1)
# 键值对删除
# del k1['gender']
# k1.clear() # 注意其用法是:字典序列.clear()
# print(k1)
# 键值对查找
# print(k1['name']) # 键值查找
# print(k1.get('score', 99)) # get()函数查找,查找失败才会返回默认值
# print(k1.keys()) # 输出k1所有key
# print(k1.values()) # 输出k1所有value
# print(k1.items()) # 输出所有键值对
# 键值对循环输出
for i in k1.items():
print(i)
# 键值对遍历之拆包
for key, value in k1.items():
print(f'{key}: {value}') # for 循环遍历键值对时可以设置两个参数,如左边所示
第三部分:集合
1、集合定义
:创建集合使用{}或set(),但是如果要创建空集合只能使用set(),因为{}用来创建空字典
特点:具有去重功能,且使用set()时,括号内数据只能是str类型
注意:其数据不能利用下标读取,因为数据具有存储随机性
2、集合常见操作:
2.1、增加:add():集合序列.add(数据);因为集合具有去重功能,故当追加数据是已存在数据时,不进行任何操作
update():其追加的数据只能是序列
2.2、删除:remove():删除集合中指定数据,若数据不存在则报错
discard():删除集合中指定数据,若数据不存在也不会报错
pop():随机删除集合中某个数据,并返回这个数据
2.3、查找:in:判断数据在集合序列
not in:判断数据不在集合序列
# 创建集合
k1 = {'you', 666, 'ha'}
k2 = set("8745") # 注意使用set时候括号内不允许存在逗号,且只能是字符串数据类型,;具有去重功能
# print(k1)
# 增加数据
# k1.add('are')
# print(k1)
# k2.update({'haha', 'cool', '!'}) # 这里追加的只能是序列
# print(k2)
# 删除数据
# k1.remove('you')
# k1.discard('youk') # 即使要删除的数据不存在也不报错
# k3 = k2.pop() # 随机删除某个数据,并返回该数据
# print(k3)
# print(k1)
# 查找
print('you' in k1)
print(8 not in k2)