• python14 字典类型


    字典类型 键值对方式,可变数据类型,所以有增删改功能
    声明方式1 {} 大括号,示例 d = {key1 : value1, key2 : value2, key3 : value3 ....}
    声明方式2 使用内置函数 dict() 创建
        1)通过映射函数创建字典
            zip(list1,list2)
    继承了序列的所有操作
    与列表不同的是元素是无序的
    KEY不能重复,Value可以重复
    1. import random
    2. '''
    3. 字典类型 键值对方式,可变数据类型,所以有增删改功能
    4. 声明方式1 {} 大括号,示例 d = {key1 : value1, key2 : value2, key3 : value3 ....}
    5. 声明方式2 使用内置函数 dict() 创建
    6. 1)通过映射函数创建字典
    7. zip(list1,list2)
    8. 继承了序列的所有操作
    9. 与列表不同的是元素是无序的
    10. KEY不能重复,Value可以重复
    11. '''
    12. # 声明方式1 字典类型
    13. dataDict = {10 : 'cat' , 20 : 'dog', 30 : 'pet', 20 : 'zoo'}
    14. # key 相同时,value值进行覆盖操作
    15. print(dataDict)
    16. # 声明方式2 zip函数
    17. list1 = [10,20,30,40]
    18. list2 = ['cat','dog','pet','zoo','car']
    19. zipobj = zip(list1, list2)
    20. print(zipobj)
    21. # 强转数据类型为字典
    22. d = dict(zipobj)
    23. print(d)
    24. # 声明方式3 使用参数创建
    25. dataDict1 = dict(cat = 10, dog = 20)
    26. print(dataDict1)
    27. # 元组做为KEY
    28. t = (10,20,30)
    29. print(f'元组做为KEY = {t,'val'}')
    30. # 取值
    31. userDict = {'name' : 'stevenChen', 'age' : 30, 'sex' : '男'}
    32. # 取值1
    33. print(f'取值1 :{userDict['name']}')
    34. # 取值2
    35. print(f'取值2 :{userDict.get('name')}')
    36. # 以上两者的取值区别: 如果KEY不存在,userDict[key] 报错, get(key) 可以指定默认值
    37. # 取值3
    38. print(f'取值3 :{userDict.get('name_1')}')
    39. # 遍历
    40. for item in userDict.items():
    41. print(f'for item ->{item}')# key = value 组成的一个元素
    42. # 分别获取key 和 value
    43. for key,value in userDict.items():
    44. print(f'for key,value key={key},value={value}')
    45. # 遍历 keys ,再根据KEY获取VALUE
    46. for key in userDict.keys():
    47. print(f'for key => {key}, value->{userDict[key]}')
    48. # 相关操作方法
    49. # 添加元素
    50. userDict['No'] = 5018
    51. print(f'添加数据:{userDict}')
    52. # 获取所有的key
    53. keys = userDict.keys()
    54. print(f'获取所有的key : {keys}')
    55. # 转成列表查看
    56. print(f'获取所有的转成列表查看keyList : {list(keys)}')
    57. # 转成元组查看
    58. print(f'获取所有的转成元组查看keyList : {tuple(keys)}')
    59. # 获取所有的value值
    60. values = userDict.values()
    61. print(f'获取所有的values : {values}')
    62. # 转成列表查看
    63. print(f'获取所有的转成列表查看valueList : {list(values)}')
    64. # 转成元组查看
    65. print(f'获取所有的转成元组查看valueList : {tuple(values)}')
    66. # 删除元素
    67. userDict.pop('No')
    68. print(f'删除元素:{userDict}')
    69. # 删除不存的元素
    70. print(f'删除元素带默认值:{userDict.pop('No','不存在')}')
    71. # 随机删除
    72. print(f'随机删除:{userDict.popitem()}')
    73. print(f'随机删除后:{userDict}')
    74. # 清除所有元素
    75. userDict.clear()
    76. print(f'清除所有:{userDict}')
    77. # python中一切皆是对象,每个对象都有一个布尔值
    78. print(f'布尔值:{bool(userDict)}') #空字典,字列表 的布尔值为False
    79. # 字典生成式
    80. '''
    81. d = {key : value for item in range}
    82. d = {key : value for key,value in zip(list1 , list2)}
    83. '''
    84. print('字典生成式')
    85. d = {item : random.randint(1, 100) for item in range(4)}
    86. print(d)
    87. # 创建两个列表
    88. list10 = [1001,1002,1003]
    89. list11 = ['张三','李四','王五']
    90. d2 = {key : value for key,value in zip(list10, list11)}
    91. print(d2)

    END

  • 相关阅读:
    JAVA智能小区物业管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
    Java设计模式——单例模式(static修饰)
    can中继器 can隔离器 本安型CAN中继器在无轨胶轮车中的应用
    带你实现react源码的核心功能
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java教务信息管理系统3rtdg
    Jenkins + SpringCloud(多模块)+ Vue系统详细构建配置
    Android AOP二三事:使用AspectJ增加登录校验
    从零开始搭建Electron项目(二)之例程解析
    实验1 熟悉R语言环境
    基于springboot“漫画之家”系统设计与实现-计算机毕业设计源码+LW文档
  • 原文地址:https://blog.csdn.net/cjh16606260986/article/details/139721914