Python(字典)

avatar
作者
猴君
阅读量:2

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

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

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)

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!