字典(二)

套嵌

把字典储存在列表中或将列表作为值存储在字典中,这种方式称为套嵌!

1、字典列表

使用列表来包含不同类型的alien(同时每个alien类型对应一个字典)

第一步:创建字典

>>> alien_0={'color':'green','points':5}
>>> alien_1={'color':'yellow','points':10}
>>> alien_2={'color':'red','points':15}

第二步:创建字典列表

>>> aliens=[alien_0,alien_1,alien_2]

通过for语句,可以遍历整个列表,并且打印出来

>>> for alien in aliens:
...    print(alien)
...
{'color': 'green', 'points': 5}
{'color': 'yellow', 'points': 10}
{'color': 'red', 'points': 15}

通过range()函数,来批量创建每一类alien

>>> aliens=[]  # 第一步,创建一个空列表,用于存放批量创建出来的aliens #

>>> for alien_number in range(30):

...  new_alien = {'color':'green','points':5}

...  aliens.append(new_alien) 

# 循环30次,每次循环结果追加到列表aliens中 #

打印aliens列表中前6个元素

>>> for alien in aliens[:6]:
... print(alien)
...
{'points': 5, 'color': 'green'}
{'points': 5, 'color': 'green'}
{'points': 5, 'color': 'green'}
{'points': 5, 'color': 'green'}
{'points': 5, 'color': 'green'}
{'points': 5, 'color': 'green'}

这样批量创建出来的alien,每一个都是一模一样的,我们可以for 循环中通过if 判断来修改字典的值。

遍历aliens的切片(0-3)前三个,把颜色修改为:blue

>>> for alien in aliens[0:3]:
... if alien['color'] == 'green':
... alien['color'] = 'blue'
... print(alien)
...
{'points': 5, 'color': 'blue'}
{'points': 5, 'color': 'blue'}
{'points': 5, 'color': 'blue'}

 

2、在字典中存储列表

作用:每当需要在字典中讲一个键关联到多个值的时候,都可以在字典中套嵌一个列表。

favorite_languages = {

    'jan':['python','ruby'],

    'alben':['python','C++'],

    'edward':['ruby','go'],

    'phil':['java','C']

}

for name,languages in favorite_languages.items():

    print("\n" + name.title() + " 's favorite languages are:")

    for language in languages:

        print('\t' + language.title())

释义:

配置了一个字典,字典中键涵盖了四位人的名字:‘jan’、‘alben’,‘edward’,‘phil’

键的值对应的是列表,包含每个人喜欢的编程语言(有的元素=1,有的元素=2)

遍历字典的键值,并且进行条件判断同时打印输出结果

Edward 's favorite languages are:

        Ruby

        Go

 

Jan 's favorite languages are:

        Python

        Ruby

 

Alben 's favorite languages are:

        Python

        C++

 

Phil 's favorite languages are:

        Java

        C

note:\n 换行符  \t 制表符(左对齐的意思)

 

3、在字典中嵌套字典

键对应的值是另一个字典的键

举例:

创建用于存放用户名的字典,键=用户名,值用于存放另外一个字典,保存用户的姓、年龄、住址等额外信息

 

users = {

 

    'alben':{

 

        'first_name':'xue',

 

        'age':'26',

 

        'location':'wuxi',

 

    }  ,

 

    'nichole':{

 

        'first_name':'huang',

 

        'age':'23',

 

        'location':'shanghai'

 

    }  

 

}

#遍历这个字典,把用户名存储到变量username中,把用户其他信息存储到user_info中#

for username,user_info in users.items():

    print(username)

    print(user_info)

结果:

nichole
{'age': '23', 'location': 'shanghai', 'first_name': 'huang'}
alben
{'age': '26', 'location': 'wuxi', 'first_name': 'xue'}

 

转载于:https://www.cnblogs.com/alben-cisco/p/6818908.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值