python-元组和字典的简单使用
一、元组的使用
用来保存多个数据。
元组和列表的区别:列表是可变的,而元组是不可变数据类型(不可增加、修改)。
1、元组的定义
nums = (1,4,6,2,3) # 元组,使用()来表示
如果元组只有一个元素,怎么表示呢
ages = (18,) # 要在最后面添加 ,
2、元组的方法
count(x) :元组中 x 元素出现的次数
例如:nums = (1,4,6,2,3,5,5,5)
nums.count(9) # 输出 3
index(x)方法:元组中 x 元素的下标位置(如果x是重复的,则输出第一个x的下标位置)
例如:nums = (1,4,6,2,3,5,5,5)
nums.count(4) # 输出 1
nums.count(5) # 输出 5
3、元组和列表的转换
直接使用tuple(转换对象)方法,tuple list set 都是这样使用的
(1)列表 --> 元组
nums = (1,4,6,2,3)
print(tuple(nums)) # 输出 [1,4,6,2,3]
(2)元组 --> 列表
words = ["yes","hello","hi"]
print(tuple(words)) # 输出 ("yes","hello","hi")
二、字典的使用
永远以键值对的方式出现;
1、特点和使用
(1). 字典是无序的,键值对的存放顺序不影响字典。例如 dict1={'A':'hello','B':'book','c':'cake'} dict2={'c':'cake','A':'hello','B':'book'} dict1==dict2
(2). 字典可以使用哪些数据类型
键:可以存放不可变对象,比如字符串,数组,元组;不能存放可变对象,如:列表、字典
值:可以存放任意对象
2、字典的增删改
(1). 增加和修改是一样的方式
1 def dict_update_operate(): 2 dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'} 3 # 新增一个键值对 4 dict1['E'] = 'emo' 5 print(dict1) # 执行的结果:{'A': 'apple', 'B': 'book', 'C': 'cake', 'E': 'emo'} 6 # 单独只修改字典中的一个值 7 dict1['B'] = 'black' 8 print(dict1) # 执行的结果:{'A': 'apple', 'B': 'black', 'C': 'cake', 'E': 'emo'} 9 # update()方法可以同时添加和修改多个值 10 dict1.update({'A': 'angle', 'F': 'file'}) 11 print(dict1) # 执行的结果:{'A': 'angle', 'B': 'black', 'C': 'cake', 'E': 'emo', 'F': 'file'}
(2)删除
1 def dict_del_operate(): 2 dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'} 3 del dict1['A'], dict1['C'] 4 print(dict1) # 执行的结果:{'B': 'book'}
(3)清空字典
1 def dict_empty_operate(): 2 dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'} 3 print(id(dict1)) # 执行的结果:4433023168 4 # clear()方法,清空元组,该元组地址还在 5 dict1.clear() 6 # 相当于重新生成了一个字典,地址已经换了 7 dict1 = {} 8 print(id(dict1)) # 执行的结果:4433026688 与原地址不一样了
(4)根据键来 判断是否存在 在字典中
1 # 根据键来 判断是否存在 在字典中: in ,not in 2 def dict_exist_operate(): 3 # 使用关键字:in ,not in 4 dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'} 5 print('B' in dict1) # 执行的结果:True 6 print('E' not in dict1) # 执行的结果:True
(5)字典的遍历
1 # 遍历字典中的key,value 2 def dict_ergodic_operate(): 3 dict1 = {'A': 'apple', 'B': 'book', 'C': 'cake'} 4 # 遍历key 5 for key in dict1.keys(): 6 print(key) # 执行的结果:A B C 7 # 遍历value 8 for value in dict1.values(): 9 print(value) # 执行的结果:apple book cake 10 # 遍历key 和 value 11 for key, value in dict1.items(): 12 print("key:", key, " value:", value) 13 # 执行的结果如下: 14 # key: A value: apple 15 # key: B value: book 16 # key: C value: cake
三、集合的使用
1、特点
集合是一种无序的、可变的数据结构,只能包含不可变的元素,例如整数、浮点数、字符串和元组等。
2、集合的增删改
# 创建空集合 s = set() # 创建含有元素的集合 s = {1, 2, 3, 4} # 添加一个元素 s.add(5) # 添加多个元素 s.update([6, 7, 8]) # 移除一个元素,如果元素不存在会报错 s.remove(1) # 移除一个元素,如果元素不存在不会报错 s.discard(2) # 随机移除一个元素,并返回这个元素 s.pop() # 清空集合 s.clear() # 删除集合 del s
3、集合的排序
sort()方法 # 永久排序
list.sort(reverse=True) # 倒序排
sorted(list) # 临时排序
sorted(list,reverse=True) # 临时倒序排序
4、集合操作
t = {3, 4, 5, 6} s.union(t) # 并集 s | t # 并集 s.intersection(t) # 交集 s & t # 交集 s.difference(t) # 差集 s - t # 差集 s.symmetric_difference(t) # 对称差集 s ^ t # 对称差集 s.issubset(t) # 判断是否是子集 s <= t # 判断是否是子集 s.issuperset(t) # 判断是否是超集 s >= t # 判断是否是超集 s != t # 判断是否不等
5、集合的可变性
f = frozenset([1, 2, 3, 4]) # 创建一个不可变集合
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本