本文主要是介绍纯干货-个人整理——字典和列表的不同点和相同点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 字典和列表的不同点
1、列表中的元素都有自己明确的“位置”,即使看似相同的元素,只要在列表中所处的位置不同,它们就是两个不同的元素。比如:
# 列表
1 student1 = ['小明','小红','小刚']
2 student2 = ['小刚','小明','小红']
3 print(student1 == student2) # False# 字典
4 scores1 = {'小明':95,'小红':90,'小刚':100}
5 scores2 = {'小刚':100,'小明':95,'小红':90}
6 print(scores1 == scores2) #True
2、字典相对列表显得随和,调动顺序也不影响。因为列表中的数据是有序排列的,字典中的数据是随机排列的。
- 总结:
列表有序,要用偏移量定位,
字典无序,通过唯一的键来取值
2.字典和列表的相同点
- 1、在列表和字典中,如果要修改元素,都可用赋值语句来完成
1 list1 = ['小明','小红','小刚','小美']
2 list1[1] = '小蓝'
3 print(list1)
4 # ['小明','小红','小刚','小美','小蓝']5 dict1 = {'小明':'男'}
6 dict1['小明'] = '女'
7 print(dict1)
8 # {'小明':'女'}
- 2、支持任意嵌套:列表可嵌套其他列表和字典,字典也可嵌套其他字典和列表
- 一、列表嵌套列表
举例:一个以四人为单位的学习小组,列表的形式可以写成:
1 students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
students 这个列表是由两个子列表组成的,如何取出 ‘小芳’ ?
- 提取这种多级嵌套的列表/字典时,要一层一层的取出,类似于剥洋葱
- 所以代码可以这样写:
1 students = [['小明','小红','小刚','小美'],['小强','小兰','小伟','小芳']]
2 print(students[1][3])
- 二、字典嵌套字典
- 和列表嵌套类似,需要一层一层的取出,
- 举例,要取出 ‘小芳’ 的成绩
1 scores = {
2 '第一组':{'小明':95,'小红':90,'小刚':100,'小美':85},
3 '第二组':{'小强':99,'小兰':89,'小伟':93,'小芳':88}
4 }
5 print(scores['第二组']['小芳'])
- 三、列表和字典相互嵌套
1 # 最外层是大括号,所以是字典嵌套列表,先找到字典的键对应的列表,再判断列表中要取出的元素的偏移量
2 students = {
3 '第一组':['小明','小红','小刚','小美'],
4 '第二组':['小强','小兰','小伟','小芳']
5 }
6 print(['第一组'][3])
7 # 取出'第一组'对应列表偏移量为3的元素,即'小美'
8
9 # 最外层是中括号,所以是列表嵌套字典,先判断字典是列表的第几个元素,再找出要取出的值相对应的键
10 scores = [
11 {'小明':95,'小红':90,'小刚':100,'小美':85},
12 {'小强':99,'小兰':89,'小伟':93,'小芳':88}
13 ]
14 print([1]['小强'])
15 #先定位到列表偏移量为1的元素,即第二个字典,再取出字典里键为'小强'对应的值,即99。
这篇关于纯干货-个人整理——字典和列表的不同点和相同点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!