字典和列表类似,也是可变序列,不过与列表不同,它是无序的可变序列,保存的内容是以“键值对”的形式存放的。这类似于《新华字典》,可以把拼音和汉字关联起来。通过音节表可以快速找到想要的汉字。其中《新华字典》里的音节表相当于键(key), 而对应的汉字,相当于值(value)。键是唯一的,而值可以有多个。字典在定义一个包含多个命名字段的对象时,很有用。
创建和删除
定义字典时,每个元素都包含两个部分“键”和“值”。以水果名称和价钱的字典为例,键为水果名称,值为水果价格。
dictionary = {'qq' :'84978981', ' mr' :'84978982', '无语' :'0431-84978981'}
print(dictionary)
创建空字典
dictionary={}
dictionary=dict()
name = ['邓肯','吉诺比利','帕克'] # 作为键的列表
sign = ['石佛','妖刀','跑车'] # 作为值的列表
dictionary = dict(zip(name,sign)) # 转换为字典
print(dictionary)
dictionary =dict(邓肯 = '石佛',吉诺比利= '妖刀',帕克= '跑车')
print(dictionary)
- del dictionary # 删除整个字典,
- dictionary .clear() # 删除字典的全部元素
访问元素
dictionary =dict(邓肯 = '石佛',吉诺比利= '妖刀',帕克= '跑车')
print(dictionary)
print(dictionary["邓肯"])
# 使用if语句对不存在的情况进行处理,即给-一个默认值
print("罗宾逊的绰号是:", dictionary['罗宾逊'] if '' in dictionary else '我的字典里没有此人' )
使用get
print("吉诺比利的绰号是: ",dictionary. get('吉诺比利'))
for
dictionary = {'qq':'84978981','明日科技':'84978982','无语':'0431-84978981'}
for item in dictionary.items():
print(item)
dictionary = {'qq': '4006751066', '明日科技': '0431-84978982', '无语': '0431-84978981'}
for key, value in dictionary.items():
print(key, "的联系电话是", value)
添加元素
dictionary =dict((('邓肯', '石佛'),('吉诺比利','妖刀'), ('帕克','跑车')))
dictionary["罗宾逊"] = "海军上将" # 添加一个元素
dictionary["帕克"] = "法国跑车" # 添加一个元素,当元素存在时,则相当于修改功能
print(dictionary)
删除一个元素
dictionary =dict((('邓肯', '石佛'),('吉诺比利','妖刀'), ('帕克','跑车')))
del dictionary["帕克"] # 删除一个元素
print(dictionary)
删除不存在的元素会报错
字典推导式
import random #导入random标准库
randomdict = {i:random.randint(10,100) for i in range(1,5)}
print("生成的字典为:",randomdict)