自学内容网 自学内容网

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)!