#python day05
字典
字典的主要特征如下:
(1)通过键来获取而不是索引值
(2)字典是任意对象的无序集合
(3)字典是可变的,而且可以任意嵌套
(5)字典的键必须是唯一的
(6)字典的键必须是不可变的
1.字典的创建和删除
dictionary = {'key1':'value1','key2':'value2',..,'keyn':'valuen',}
1.1 通过映射函数来创建字典
dictionary = dict(zip(tuple1,list2)) #关于键值推荐使用元组来创建
实例01:创建一个保存帅哥星座的字典
name = ('吴彦祖','彭于晏','胡歌','吴亦凡')
sign = ['金牛座','射手座','双子座','处女座']
dictionary = dict(zip(name,sign))
print(dictionary)
1.2 通过指定的“键值对”来创建字典
dictionary = dict(key1=value1,key2=value2,key3=value3,...,keyn=valuen)
将实例01通过键值对来创建
dictionary = dict(吴彦祖 = '金牛座',彭于晏 = '射手座',胡歌 = '双子座',吴亦凡 = '处女座')
print(dictionary)
还可以使用dict对象的fromkeys()方法创建键值为空的字典
name_list = ['金牛座','射手座','双子座','处女座']
dictionary = dict.fromkeys(name_list)
print(dictionary)
1.3 通过键值对访问字典
print(dictionary['吴彦祖'])
在python中,个人更加推荐使用get()方法来获取指定键的值
dictionary.get(key,default)
default为可选选项,当指定键不存在时,会返回一个默认值。如果省略,则返回None
print(dictionary.get('王德发','我的字典里没有此人'))
实例02:将某大学寝室里4个帅哥的名字和星座保存在一个字典里,然后再定义一个保存各个星座性格特点的字典,根据这两个字典获取某位帅哥的性格特点。
name = ('傻奔','傻付','渣男达','帅哥源')
sign_person = ['白羊座','双子座','巨蟹座','金牛座']
person_dict = dict(zip(name,sign_person))
sign_all = ['白羊座','双子座','巨蟹座','金牛座','狮子座','处女座','摩羯座',
'射手座','天蝎座','天秤座','水瓶座','双鱼座']
nature = ['白羊座:虽然自我,孤单的自我。',
'双子座:活泼掩盖bai不为人知的痛。',
'巨蟹座:在家人面前TA永远快乐。',
'金牛座:稳重,一种严肃的伪装。',
'狮子座:高傲,不露出自己的脆弱。',
'处女座:TA要的完美其实很简单。',
'摩羯座:TA的顽固,只是想要保护自己。',
'射手座:TA不是那么善变,只是怕受伤。',
'天蝎座:冷酷,是因为TA不想再受伤。',
'天秤座:好像快乐,其实那样的孤单。',
'水瓶座:TA想自由,可是确不能。',
'双鱼座:TA多希望TA的梦能实现']
sign_dict = dict(zip(sign_all,nature))
print("【帅哥源】的星座是",person_dict.get('帅哥源'))
print("\n他的性格特点是:\n\n",sign_dict.get(person_dict.get('帅哥源')))
1.4 遍历字典
使用字典对象中的items()方法可以获取字典中的“键值对”列表
dictionary.items()
name = ('吴彦祖','彭于晏','胡歌','吴亦凡')
sign = ['金牛座','射手座','双子座','处女座']
dictionary = dict(zip(name,sign))
for item in dictionary.items():
print(item)
想要获取具体的每个键和值,可以这样编写
name = ('吴彦祖','彭于晏','胡歌','吴亦凡')
sign = ['金牛座','射手座','双子座','处女座']
dictionary = dict(zip(name,sign))
for key,value in dictionary.items():
print(key,vaule)
2 添加、修改和删除字典元素
2.1 添加字典元素
dictionary[key] = vaule
name = ('吴彦祖','彭于晏','胡歌','吴亦凡')
sign = ['金牛座','射手座','双子座','处女座']
dictionary = dict(zip(name,sign))
dictionary['王德发'] = '双鱼座'
print(dictionary)
2.2 修改字典元素
dictionary[key] = newvaule
name = ('吴彦祖','彭于晏','胡歌','吴亦凡')
sign = ['金牛座','射手座','双子座','处女座']
dictionary = dict(zip(name,sign))
dictionary['吴亦凡'] = '双鱼座'
print(dictionary)
2.3 删除字典元素
del dictionary[key]
name = ('吴彦祖','彭于晏','胡歌','吴亦凡')
sign = ['金牛座','射手座','双子座','处女座']
dictionary = dict(zip(name,sign))
del dictionary['吴亦凡']
print(dictionary)
3 字典推导式
快速生成包含4个随机数的字典,键使用数字来使用
import random
dandomdict = {i:random.randint(10,100) for i in range(1,5)}
print(dandomdict)

983

被折叠的 条评论
为什么被折叠?



