免费企业建站,浙江省建设工程质量管理协会网站,做网站用哪个ecalipse,企业网站的建设流程字典概念
字典是 Python 提供的一种常用的数据结构#xff0c;它用于存放具有映射关系的数据。为了保存具有映射关系的数据#xff0c;Python 提供了字典#xff0c;字典相当于保存了两组数据#xff0c;其中一组数据是关键数据#xff0c;被称为 key#xff1b;另一组数…字典概念
字典是 Python 提供的一种常用的数据结构它用于存放具有映射关系的数据。为了保存具有映射关系的数据Python 提供了字典字典相当于保存了两组数据其中一组数据是关键数据被称为 key另一组数据可通过 key 来访问被称为 value 语法 注意事项 键值对类似Java的Set 题目 字典的键不能改变所以可以使用元组当键值而不能使用列表当键值
增加字典 删除字典
del与popitem一样删除一个元素返回被删除这个元素的 key-value
修改字典 查找字典
直接查找 使用get函数查找字典 题目 get(“a”,“b”):a是键b是值如果想要查找的键所对应的值不存在则输出字典中键所对应的值
合并两个字典-update()函数 遍历字典
1.for循环 2.keys()遍历 3.values()遍历 4.items遍历
遍历字典-sorted()和Set()函数
按顺序遍历所有键 要以特定顺序返回元素我们可以使用 sorted() 函数来获得按特定顺序排列的键列表副本。 sort 与 sorted 区别 sort 是应用在 list 上的方法sorted 可以对所有可迭代的对象进行排序操作。 list 的 sort 方法返回的是对已经存在的列表进行操作无返回值而内建函数 sorted 方法返回的是一个新的list而不是在原来的基础上进行的操作。 for name in sorted(dict2.keys()):print(name.title())当值中含有很多重复值时为了剔除重复项可使用集合 set()
for name in set(dict2.values()):print(name.title())字典推导式 字典嵌套
将字典储存在列表中或者将列表储存在字典中称为嵌套。 字典列表
dict1 {物理:90,化学:85,生物:88}
dict2 {物理:95,化学:88,生物:70}
dict3 {物理:80,化学:90,生物:75}
dict4 [dict1,dict2,dict3]
for a in dict4:print(a)字典嵌套列表
dict5 {color:blue,type:[A,B,C]
}字典嵌套字典
dict6 {a:{name:Tom,age:6}b:{name:Marry,age:10}
}练习1-字典列表用户输入姓名
# 让用户输入姓名
# 如果该姓名在 persons 中存在提示用户
# 若不存在继续输入年龄到列表中。
persons [{name: Tom, age: 18},{name: lisa, age: 15},{name: Sufv, age: 20},{name: Linda, age: 13}
]
print(persons)
flag True
while flag:name input(请输入姓名)for i in persons:if name i[name]:print(该姓名在 persons 中存在,结束循环)flag Falsebreakelse:age int(input(请输入年龄))check {}check[name] agepersons.append(check)break
print(persons)练习3-字典列表输出最高分和最低分对应的学生姓名
students [{name: 张三, age: 18, score: 88, tel: 1323454658, gender: 男},{name: 李四, age: 19, score: 89, tel: 1111454656, gender: 女},{name: jack, age: 38, score: 30, tel: 12142344562, gender: 不明},{name: 小白, age: 26, score: 35, tel: 12142345658, gender: 女},{name: 可文, age: 20, score: 90, tel: 1903334258, gender: 男},{name: mike, age: 14, score: 100, tel: 1345555678, gender: 女},
]
maxstudents[0][score]
minstudents[0][score]
maxStudent
minStudentfor i in students:max max if max i[score] else i[score]min min if min i[score] else i[score]for j in range(len(students)):if max students[j][score]:maxStudent students[j][name]if min students[j][score]:minStudent students[j][name]print(max,min,maxStudent,minStudent,sep )综合练习-字典列表学生信息输出
# 4
# 声明一个列表列表中包含6位学生的信息
# 每位学生的信息包括
# 姓名年龄分数单科电话性别男女不明
students [{name: 张三, age: 18, score: 88, tel: 1323454658, gender: 男},{name: 李四, age: 19, score: 89, tel: 1111454656, gender: 女},{name: jack, age: 38, score: 30, tel: 12142344562, gender: 不明},{name: 小白, age: 26, score: 35, tel: 12142345658, gender: 女},{name: 可文, age: 20, score: 90, tel: 1903334258, gender: 男},{name: mike, age: 14, score: 100, tel: 1345555678, gender: 女},
]
#1统计不及格学生个数
count0
for i in students:if i[score]60:count1
print(不及格学生人数str(count))# 2打印不及格学生姓名和对应成绩
count0
list[]
for i in students:if i[score]60:list.append(i[name]的成绩为str(i[score]))
print(不及格学生信息)
print(list)# 3统计未成年学生个数
count0
for i in students:if i[age]18:count1
print(未成年学生人数str(count))# 4打印手机尾号是8的学生名字
print(手机尾号是8的学生名字:)
for i in students:if i[tel].endswith(8)True:print(i[name])# 5打印最高分和对应的学生的名字
maxstudents[0][score]
maxStudent
for i in students:max max if max i[score] else i[score]
for j in range(len(students)):if max students[j][score]:maxStudent students[j][name]print(最高分str(max)对应的学生姓名为,maxStudent)# #6删除性别不明的所有学生
j0
print(students)
for i in students:if i[gender]不明:students.pop(j)j 1
print(students)# 7将列表按学生成绩从大到小排序。
#冒泡排序
print(students)
for i in range(len(students) - 1):for j in range(len(students) - 1 - i):if students[j][age] students[j1][age]:temp students[j]students[j] students[j 1]students[j 1] tempprint(students)
实验–评委分数 # 1 输入评委人数
numberint(input(the number of judges:))
while number3:print(number is not quality)numberint(input(the number of judges:))
# 2 输入每个评委打分以字典的形式录入分数在0-100之间
score{}
key97
for i in range(number):sint(input(the score of the judge:))while s0 or s100:print(score is not quality)s int(input(the score of the judge:))score[chr(key i)]s
print(score)
# 3 删除最高分和最低分
max_scoremax(score.items(),keylambda x:x[1])
min_scoremin(score.items(),keylambda x:x[1])
# print(max_score,min_score,sep\n)score.pop(max_score[0])
score.pop(min_score[0])
print(score)
# 4 计算剩余打分的平均分。
from functools import reduce
list1list(score.values())
averagereduce(lambda x,y:xy,list1)
print(the average scorestr(average/len(list1)))