您的位置:首页 > 其它

字典:创建,访问,遍历,字典推导式

2020-06-28 05:27 996 查看

本次课学习字典。包括字典的创建,访问,遍历等各种操作、

(1)字典的创建

字典的创建:
dictionary={‘key1’:‘value1’,‘key2’:‘value2’,…,}
字典由键—值对组成。键是唯一的,值可以不唯一。

(1.1)创建字典方法1:手动输入一对对的键值对,所有符号英文状态输入。

案例(1)

zidian={'chen':'尘','che':'吃'}。
print(zidian) #运行结果:{'chen': '尘', 'che': '吃'}
print (type(zidian)) #运行结果:<class 'dict'>

(1.2)创建字典方法2:键和值分别用列表表示,用dict转换为字典
案例(2):一家四兄弟,分别叫王大,王二,王三,王四,身高分别为178,179,180,176,爱好分别是游泳,跑步,台球,乒乓球。建立字典对王家四兄弟进行描述。

name=['王大','王二','王三','王四']#姓名为键,用列表表示
high=['178','179','180','176']#身高为值,用列表表示
hobby=['游泳','跑步','台球','乒乓球']
zidian1=dict(zip(name,high))#dict转换为字典.
zidian2=dict(zip(high,hobby))
print(zidian1)
print(zidian2)#运行结果:{'178': '游泳', '179': '跑步', '180': '台球', '176': '乒乓球'}

(2)字典的访问

(1):根据键访问值。
接着案例(2):

print(zidian2['178'])#根据键访问值,注意键写在[]里。
``````python
运行结果:游泳
print(zidian2['185'] if '185' in zidian2 else '查无此项')#若字典有对应键,则输出值;否则输出“查无此项”

(2)可以用get()来实现对字典的访问:dictionary.get(key,[default])。[default]为默认值,默认为None.若键不存在,则输出该默认值.

name=['王大','王二','王三','王四']#姓名为键,用列表表示
high=['178','179','180','176']#身高为值,用列表表示
zidian1=dict(zip(name,high))
print(zidian1.get('王大','查无此项'))#运行结果:178
print(zidian1.get('王六','查无此项'))#运行结果:查无此项

再来看看如何实现从姓名—身高—爱好 的搜索过程,代码如下:

name=['王大','王二','王三','王四']#姓名为键,用列表表示
high=['178','179','180','176']#身高为值,用列表表示
hobby=['游泳','跑步','台球','乒乓球']
zidian1=dict(zip(name,high))#dict转换为字典.
zidian2=dict(zip(high,hobby))
print("王大的身高是:",zidian1.get('王大'))#实现从姓名—身高的搜索
print("\n他的爱好是:\n",zidian2.get(zidian1.get('王大')))#再以身高为键,实现由身高—爱好的搜索

(3)字典的遍历

print(zidian1.items()) #输出zidian1的内容

结果为:

dict_items([('王大', '178'), ('王二', '179'), ('王三', '180'), ('王四', '176')])

使用for循环语句,还可以得到字典的键和值。

for key,value in zidian1.items():
print(key,"的身高是",value,end=',')

输出结果为:

王大 的身高是 178,王二 的身高是 179,王三 的身高是 180,王四 的身高是 176,

(4)字典的遍历

字典推导式:{键表达式:值表达式 for循环}
案例:
输出键为1—10,值为10—100的任意整数的一个字典。

import random
randomdict={i:random.randint(10,101)for i in range(1,11)}
print(randomdict)

运用字典推导式也生成上面的案例(2)中的字典zidian1

name=['王大','王二','王三','王四']#姓名为键,用列表表示
high=['178','179','180','176']#身高为值,用列表表示
zidian1={i:j for i,j in zip(name,high)}
print(zidian1)
#运行结果为:{'王大': '178', '王二': '179', '王三': '180', '王四': '176'}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐