Python(字典)

字典根据一个信息查找另外一个信息,也是可变数据类型,底层元素是无序的,第一个添加的元素,地址不一定在第一位,键只能有一个不能重复,但是值可以重复,字典当中的键要求是不可以变的数据类型(因此列表不可以做为键)

对字典可以进行的基本操作:

d = dict(cat=40, dog=10)

# 打印字典中的键值对
print('键值对:', d.items())

# 打印字典中的键
print('键:', d.keys())

# 打印字典中的值
print('值:', d.values())

# 获取特定键的值
print('cat 的值:', d.get('cat')) 

# 添加新的键值对
d['bird'] = 5

# 修改现有键的值
d['dog'] = 15

# 删除键值对
del d['cat'] 

# 再次打印字典
print('修改后的字典:', d)

创建字典的方法:

第一种:使用{}

第二种:使用内置函数dict()

zip(lst1,lst2):lst1作为键,lst2作为值

#使用{}
d={10:'cat',20:'dog',10:'pig'}
print(d)#当key相同时,value进行了覆盖

#使用zip函数
lst1=[10,20,30,40]
lst2=['cat','dog','pig']
zipobj=zip(lst1,lst2)
print(zipobj)#####<zip object at 0x000001A3FC387900>
print(list(zipobj))######[(30, 'cat'), (20, 'dog'), (30, 'pig')]
#方法三,将其转换为字典类型,进行以下步骤以前应该将前面print(list(zipobj))注释
d=dict(zipobj)
print(d)

#方法4使用参数创建字典
d=dict(cat=10,dog=20)
print(d)

#元组作为键
t=(10,20,30)
print({t:10})
#列表作为键,程序报错,列表为可变数据类型不可以作为键使用
lst=[10,20,30]
print(lst)
d=dict(cat=40,dog=10)

#字典属于序列
print('max:',max(d))
print('min:',min(d))
print('len:',len(d))

# max: dog,大小与后面的值咩有关系,与cat和dog的首字母有关系
# min: cat
# len: 2
d={'hello':10,'money':20,'python':30}
#访问字典当中的元素
#(1)使用d[key]
print(d['hello'])
#(2)d.get(key)
print(d.get('hello'))

#二者之间是有区别的,如果key不存在,d[key]报错,d.get(key)仍然可以指定默认值

print(d.get('java'))#输出None
print(d.get('java','不存在'))#输出不存在,即直接将将不存在赋给了Java
print(d['java'])#直接报错
d={'hello':10,'money':20,'python':30}
#访问字典当中的元素
#(1)使用d[key]
print(d['hello'])
#(2)d.get(key)
print(d.get('hello'))

#二者之间是有区别的,如果key不存在,d[key]报错,d.get(key)仍然可以指定默认值

print(d.get('java'))#输出None
print(d.get('java','不存在'))#输出不存在,即直接将将不存在赋给了Java


#字典的遍历
for item in d.items():
    print(item)#key=value组成的一个元素,注意这里是items

#在使用for循环遍历时,分别获取key,value
for key,value in d.items():
    print(key,value)

字典的相关操作方法 

字典的方法 描述说明
d.key() 获取所有的key数据
d.values() 获取所有的value数据
d.pop(key.default) key存在获取相应的value,同时删除key-value对,否则获取默认值
d.popitem() 随机从字典中取出一个key—value对,结果为元组类型,同时将该key—value从字典中删除
d.clear() 清空字典中所有的key-value
d={101:'ll',102:'lz',103:'az'}
print(d)

#向字典中添加元素
d[104]='sz'
print(d)

#获得字典中所有的key
keys=d.keys()
print(keys)#结果为:dict_keys([101,102,103,104])
print(list(keys))
print(tuple(keys))

#获取字典中所有的value
values=d.values()
print(values)#dict_values(['ll', 'lz', 'az', 'sz'])
print(list(values))#列表为[]
print(tuple(values))#元组为()
#key-->value
lst=list(d.items())
print(lst)

#先转换为字典类型再使用pop()函数
d=dict(lst)
print(d)

print(d.pop(101))
print(d)

print(d.pop(100,'不存在'))

#随机删除
print(d.popitem())
print(d)

#清空字典中所以的元素
d.clear()
print(d)

字典的生成式

import random
d={item:random.randint(1,100) for item in range(4)}
print(d)

#映射类型
lst=[101,102,103]
lst2=['ll','ww','dd']
d={key:value for key,value in zip(lst,lst2)}
print(d)

相关推荐

  1. python字典

    2024-07-19 04:42:01       27 阅读
  2. python字典

    2024-07-19 04:42:01       23 阅读
  3. python字典

    2024-07-19 04:42:01       27 阅读
  4. Python字典

    2024-07-19 04:42:01       22 阅读
  5. Python-字典详解

    2024-07-19 04:42:01       53 阅读
  6. Python课堂11——字典

    2024-07-19 04:42:01       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 04:42:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 04:42:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 04:42:01       58 阅读
  4. Python语言-面向对象

    2024-07-19 04:42:01       69 阅读

热门阅读

  1. 部署和运维

    2024-07-19 04:42:01       15 阅读
  2. junit mockito Base基类

    2024-07-19 04:42:01       20 阅读
  3. 代码随想录-DAY⑩-二叉树——leetcode 144 | 94 | 145

    2024-07-19 04:42:01       21 阅读
  4. Redis 延迟队列

    2024-07-19 04:42:01       21 阅读
  5. (二)js前端开发中设计模式之单例模式

    2024-07-19 04:42:01       21 阅读
  6. 深度学习落地实战:人脸五官定位检测

    2024-07-19 04:42:01       20 阅读
  7. postman接口测试工具详解

    2024-07-19 04:42:01       21 阅读
  8. 自制数据集处理

    2024-07-19 04:42:01       19 阅读
  9. layui前端开发-记录一次弹窗嵌套表格功能的开发

    2024-07-19 04:42:01       19 阅读
  10. oracle 查询锁 && 解锁

    2024-07-19 04:42:01       20 阅读
  11. 初识Redis

    2024-07-19 04:42:01       17 阅读
  12. redis setnx使用方法

    2024-07-19 04:42:01       17 阅读
  13. 微服务

    微服务

    2024-07-19 04:42:01      17 阅读
  14. perf工具学习材料

    2024-07-19 04:42:01       17 阅读
  15. opencv—常用函数学习_“干货“_3

    2024-07-19 04:42:01       16 阅读
  16. k8s学习——升级后的k8s使用私有harbor仓库

    2024-07-19 04:42:01       25 阅读