当前位置:脚本大全 > > 正文

python里字典常用方法(Python使用字典的嵌套功能详解)

时间:2022-01-18 01:21:33类别:脚本大全

python里字典常用方法

Python使用字典的嵌套功能详解

当需要存储很多同类型的不通过数据时可能需要使用到嵌套,先用一个例子说明嵌套的使用

1、在列表中存储字典

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • #假设年级里有一群国际化的学生,有黄皮肤的中国人、有白皮肤的美国人也有黑皮肤的非洲人,只记录部分特征
  • student_1={'nationality':'China','colour':'yellow','age':'15'}
  • student_2={'nationality':'America','colour':'white','age':'18'}
  • student_3={'nationality':'Africa','colour':'dark','age':'17'}
  • grade = [student_1,student_2,student_3]
  • for student in grade:
  •   print(student)
  • 输出:

    {‘nationality': ‘China', ‘age': ‘15', ‘colour': ‘yellow'}
    {‘nationality': ‘America', ‘age': ‘18', ‘colour': ‘white'}
    {‘nationality': ‘Africa', ‘age': ‘17', ‘colour': ‘dark'}

    注意,上边的实例中就将字典作为列表的元素进行了嵌套,然后利用列表进行遍历
    下边假设年级里有30个同样年龄的中国学生,利用嵌套进行生成

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • #定义一个存储中国学生的列表,假设年龄都一样
  • chinese=[]
  • #创建30个中国学生
  • for student in range(0,30):
  •   student_1={'nationality':'China','colour':'yellow','age':'15'}
  •   chinese.append(student_1)
  • #显示一共创建了多少个学生
  • print('一共创建了:'+str(len(chinese))+'个学生')
  • #显示前5个中国学生
  • for stu in chinese[:5]:
  •   print(stu)
  • 输出:

    {‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
    {‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
    {‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
    {‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}
    {‘colour': ‘yellow', ‘age': ‘15', ‘nationality': ‘China'}

    可是这么多学生的年龄都相同,显得不够自然,我们将前两个中国学生改成美国学生、年龄改成14岁

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • #定义一个存储中国学生的列表,假设年龄都一样
  • chinese=[]
  • #创建30个中国学生
  • for student in range(0,30):
  •   student_1={'nationality':'China','colour':'yellow','age':'15'}
  •   chinese.append(student_1)
  • #显示一共创建了多少个学生
  • print('一共创建了:'+str(len(chinese))+'个学生')
  • for student_c in chinese[0:2]:
  •   if student_c['nationality']=='China':
  •     student_c['nationality']='America'
  •     student_c['colour']='white'
  •     student_c['age']=14
  • #显示前5个中国学生
  • for stu in chinese[:5]:
  •   print(stu)
  • 输出:

    一共创建了:30个学生
    {‘colour': ‘white', ‘nationality': ‘America', ‘age': 14}
    {‘colour': ‘white', ‘nationality': ‘America', ‘age': 14}
    {‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}
    {‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}
    {‘colour': ‘yellow', ‘nationality': ‘China', ‘age': ‘15'}

    备注:学到这里发现列表和字典的知识有点薄弱啊

    2、在字典中存储列表

    假设有个小店,里边卖了2种粥,但是每种粥的配料都不一样,利用一个字典记录两种粥及其配料

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • #为了简化就不把配料全写出来了
  • gruel={
  •   '八宝粥':['大米','桂圆','红枣','芡实','莲子','薏仁','黑豆','核桃仁'],
  •   '瘦肉粥':['大米','瘦肉']
  •   }
  • for key,value in gruel.items():
  •   print('\n'+key,end=':')
  •   for batching in value:
  •     print(batching, end=' ')
  • 输出:

    八宝粥:大米 桂圆 红枣 芡实 莲子 薏仁 黑豆 核桃仁
    瘦肉粥:大米 瘦肉

    注意:
    为了实现print()输出不换行,这里增加了end参数
    配料作为列表存储在了字典里

    3、在字典中嵌套字典

    以班里有两个同学为示例

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • grade={
  •   '赵丽颖':{
  •     '国籍':'中国',
  •     '民族':'汉',
  •     '出生日期':'1987年10月16日',
  •     '身高':'165cm',   
  •     },
  •   '杨幂':{
  •     '国籍':'中国',
  •     '民族':'汉',
  •     '出生日期':'1986年9月12日',
  •     '身高':'166.5cm',
  •     }
  •   }
  • for name,info in grade.items():
  •   print(name)
  •   for key,value in info.items():
  •     print(key+':'+value)
  • 输出:

    杨幂
    国籍:中国
    民族:汉
    出生日期:1986年9月12日
    身高:166.5cm
    赵丽颖
    国籍:中国
    民族:汉
    出生日期:1987年10月16日
    身高:165cm

    这一节主要学习了字典的嵌套功能,主要学习了列表中嵌套字典、字典中嵌套列表、字典中嵌套字典的方式实现字典的复杂运用

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接

    原文链接:https://blog.csdn.net/a411178010/article/details/78550598

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐