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]) # 创建一个不可变集合

posted @ 2024-04-17 14:43  一直在寻找的路上  阅读(19)  评论(0编辑  收藏  举报