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)
原文地址:https://blog.csdn.net/xia_dong/article/details/140465033
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!