纯干货-个人整理——字典和列表的不同点和相同点

2 篇文章 0 订阅
2 篇文章 0 订阅

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。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值