python 第六章 字典

目录

1. 使用字典

        1.1 定义

        1.2 访问

        1.3 添加

        1.4 创建空字典

        1.5 修改值

        1.6 删除键-值对

2. 遍历

        2.1 遍历所有键-值对

        2.2 遍历所有键

        2.3 按顺序遍历所有键

        2.4 遍历所有值

3. 嵌套

        3.1 字典列表      

        3.2 在字典中存储列表

        3.3 字典中嵌套字典

 

1. 使用字典

        1.1 定义

        字典是一系列键-值对。每个键都与值相关联,值的类型可以是数字、字符串、列表甚至字典。每个键-值对是两个相关联的值。指定键时,python将返回相关联的值。键与值之间用冒号分隔,每个键值对之间用逗号分隔。字典名 = {‘键1’:‘值1’,‘键2’:‘值2’} 例:

alien_0 = {'color':'green','size':5}

        1.2 访问

        要获取某个特定值时,需要依次指定字典名和方括号里的键字典名['键名'] 例:

alien_0 = {'color':'green','size':5}
print(alien_0['color'])

        1.3 添加

        添加键-值对时,可依次指定字典名、需添加的键和相关联的值。字典名['键名']=关联值 关联值视其字符类型决定是否要加引号 例:

alien_0 = {'color':'green','size':5}
alien_0['new1']=1
alien_0['new2']=2
print(alien_0)

注意,新增的键-值对在字典中顺序不一定与添加顺序相同,python只保证键-值的对应关系。       

        1.4 创建空字典

        当创建字典时,大括号中不添加任何键-值对,即成功创建了一个空字典。字典名={ } 例:

alien_0={}
alien_0['new1']=1
alien_0['new2']=2
print(alien_0)

        1.5 修改值

        对字典中已有的值进行修改,采用与添加键-值对相同的方式。 字典名['已有键名']=新关联值

alien_0 = {'color':'green','size':5}
alien_0['color']='red'
alien_0['size']=2
print(alien_0)

alien_0 = {'x_local':0,'y_local':25,'speed':'medium'}
print('初始位置:'+ str(alen_0['x_local'])

if alien_0['speed'] =='slow':
    x_increment =1
elif alien_0['speed'] == 'medium':
    x_increment = 2
else:
    x_increment = 3
alien_0['x_local']=alien_0['x_local'] + x_increment
print('新位置:'+str(alien_0['x_local']))

        1.6 删除键-值对

        使用del语句,指定字典名与要删除的键名,删除后无法恢复。 del 字典名['键名'] 例:

del alien_0['color']

2. 遍历

        2.1 遍历所有键-值对

        使用for语句与方法item(),采用两个变量分别存储键与值,再进行输出。遍历字典时,输出顺序也不会与字典中顺序完全相同,python只保证键与值的对应。

alien_0 = {'color':'green','size':'5'}
for k,v in alien_0.items():
    print('k:'+k)
    print('v:'+v)

        item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回。

        2.2 遍历所有键

        使用方法keys()提取字典中所有键,利用for遍历输出。

alien_0 = {'color':'green','size':'5'}
for k in alien_0.keys():
    print(name.title())

        遍历字典时,默认遍历所有的键,若不加方法keys(),也默认输出键名。

        方法keys()并非只用于遍历;实际上,这个方法将会返回一个列表,其中包含字典中所有的键。

        2.3 按顺序遍历所有键

        在输出键列表的命令基础上,使用函数sorted()。

alien_0 = {'color':'green','size':'5'}
for k in sorted(alien_0.keys()):
    print(name.title())

        2.4 遍历所有值

        使用for和方法value(),其原理与方法keys()相似,都是返回一个列表,只不过方法value()返回的列表中都是值。

        集合set()作用与列表类似,但其中不得包含相同元素。通过调用set(),可剔除值中的重复元素,不会二次输出。例:

alien_0 = {'solor':'green','cize':'green','xxx':'green'}
for v in set(alien_0.values()):
    print(v.title())

虽然字典中三个值都是“green”,但只会输出一个“Green”。

3. 嵌套

        将字典与列表相互嵌套使用,可存储大量信息。

        3.1 字典列表      

        将各个独立的字典名放入一个列表中,作为其中元素存在,即形成了一个字典列表。

aliens=[]

for alien_num in range(30):
    new_alien={'solor':'green','cize':'5'}
    aliens.append(new_alien)

for alien in aliens[:5]:
    print(alien)

        3.2 在字典中存储列表

        在字典中,每个键可对应多个值,此时需使用列表的形式将多个值嵌套在字典中,例:

alien_0 = {
    'solor':'green',
    'cize':['xxx','aaa','sss']
    }

        在遍历这种多个值的字典时,需对值列表再次进行for循环:

alien_0 = {
    'solor':['green'],
    'cize':['xxx','aaa','sss']
    }
for k,v in alien_0.items():
    print('k:'+k)
    for vv in v:
        print("vv:"+vv)

此时“v”不是变量名,而是一个列表名。

        3.3 字典中嵌套字典

        字典中的值不仅可以是一个多个元素组成的列表,甚至可以是一个全新字典,例:

user={
    'chenhu':{
        "姓":"chen",
        "名":"hu",
        "年龄":'10'
        },
    'huchen':{
        "姓":"hu",
        "名":"chen",
        "年龄":'20'
        }
}
for user_name,user_inf in user.items():
    print('用户:'+user_name)
    姓名=user_inf['姓']+user_inf['名']
    年龄=user_inf['年龄']

    print(姓名,年龄)

        此时“user_inf”不是变量名,而是包含了用户相关信息的字典名,需再次调用其中的键-值对。代码输出结果为:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值