dict
Python内置了字典:dict的支持,dict全称dictionary,使用键-值(key-value)存储
如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d['Michael']95
Dict内置的几种方法
dict.items()     以列表返回可遍历的(键, 值) 元组数组
dict.keys()      以列表返回一个字典所有的键
dict.values()   以列表返回字典中的所有值
题目
代码
# 1、循环输入姓名和成绩# 2、将姓名和成绩 映射成字典# 3、获得最高分 最低分 和 总分# 4、根据最高分和最低分 找到对应的人temp = {}name = ""score = 0.0allSum = 0.0maxScore = 0.0minScore = 0.0n = 12 # n 就是 有多少个人for i in range(n):# 输入姓名和成绩name = input()score = float(input())# 建立映射关系temp[name] = score# 字典名[key] = valueallSum += score#minScore = min(2,3,4,5) # minScore = 2minScore = min(temp.values())maxScore = max(temp.values())temp['yxr']for name in temp.keys():# 遍历 字典的keys列表if temp[name] == maxScore: # 当前name 就是获得最高分的人print("成绩最好的是:",name,maxScore)if temp[name] == minScore:print("成绩较差的是:",name,minScore)print("平均分:",allSum/n)
set
- set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
 - set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
 - 创建一个集合可以使用大括号’{ }’ 或者 set( )
 - 创建空集合的时候只能使用set的方法
 
>>> s1 = set([1, 2, 3])>>> s2 = set([2, 3, 4])>>> s1 & s2 # 交集操作{2, 3}>>> s1 | s2 # 并集操作{1, 2, 3, 4}
题目
代码
# 定义两个集合# 生成随机数填入集合中# 对集合进行运算import randoma = set()b = set()# 填入随机数for i in range(5):a.add(random.randint(0,10))for i in range(5):b.add(random.randint(0,10))print("a = ",a)print("b = ",b)print("a & b =",a & b)print("a | b =",a | b)print(a - b)
