【笔记】python的嵌套:字典列表、在字典中存储列表、在字典中存储字典

您所在的位置:网站首页 python中如何将列表降序排列到最后 【笔记】python的嵌套:字典列表、在字典中存储列表、在字典中存储字典

【笔记】python的嵌套:字典列表、在字典中存储列表、在字典中存储字典

2023-09-16 20:34| 来源: 网络整理| 查看: 265

文章目录 一、python的嵌套二、字典列表三、在字典中存储列表五、在字典中存储字典

一、python的嵌套

有时候需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。我们可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

二、字典列表

还记得我们之前的外星人的例子吗,如果字典alien_0包含一个外星人的各种信息,那么当有很多个外星人的时候,我们该如何管理呢?一种办法是创建一个外星人列表,其中每个外星人都是一个字典,包含有关该外星人的各种信息。 例:创建一个包含三个外星人的列表,并遍历这个列表。

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 alien in aliens: print(alien)

输出结果: 在这里插入图片描述 更符合现实的情景是,外星人不止三个。且每个外星人都是使用代码自动生成的。 例:使用range()生成了30个外星人。

#创建一个用于存储外星人的空列表 aliens=[] #创建30个绿色的外星人 for alien_number in range(30): new_alien={'color':'green','points':5,'speed':'slow'} aliens.append(new_alien) #显示前5个外星人 for alien in aliens[:5]: print(alien) print("...") #显示创建了多少个外星人 print(f"Total numbers of aliens:{len(aliens)}")

输出结果: 在这里插入图片描述 随着游戏的进行,有些外星人会变色且加快移动速度。必要时,可使用for循环和if语句来修改某些外星人的颜色。 例:要将前三个外星人修改为黄色、速度为中等且值10分。

#创建一个用于存储外星人的空列表 aliens=[] #创建30个绿色的外星人 for alien_number in range(30): new_alien={'color':'green','points':5,'speed':'slow'} aliens.append(new_alien) for alien in aliens[:3]: if alien['color']=='green': alien['color']='yellow' alien['speed']='medium' alien['points']=10 #显示前5个外星人 for alien in aliens[:5]: print(alien) print("...")

输出结果: 在这里插入图片描述

三、在字典中存储列表

有时候,需要将列表存储在字典中,而不是将字典存储在列表中。 比如说我们之前那个披萨店的例子,我们之前在学习列表时,用列表只能存储要添加的比萨配料;现在我们如果用字典的话,就不仅可在其中包含配料列表,还可包含其他有关披萨的描述。

例:在下面的代码中,能存储披萨的两方面信息:外皮类型和配料列表。配料列表是一个与键‘toppings’相关联的值。要访问该列表,我们使用字典名和键‘toppings’,就像访问字典中的其它值一样。这将返回一个配料列表,而不是单个值:

#存储所点比萨的信息 pizza={ 'crust':'thick', 'toppings':['mushroom','extra cheese'], } #概述所点的比萨 print(f"You order a {pizza['crust']}-crust pizza" "with the following toppings:") for topping in pizza['toppings']: print("\t" + topping)

输出结果: 在这里插入图片描述 当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。下面我们再做一个例子

例:调查人们喜欢的编程语言,如果调查者有多种喜欢的语言,就需要将回答放在列表中,接下来我们创建一个这样的嵌套(字典中嵌套列表)

favorite_languages = { 'jen':['python','ruby'], 'sarah':['c'], 'edward':['ruby','go'], 'phil':['python','haskell'], } for name,languages in favorite_languages.items(): print(f"\n{name.title()}'s favorite languages are:") for language in languages: print(f"\t{language.title()}")

输出结果: 在这里插入图片描述

五、在字典中存储字典

在字典中嵌套字典,这样代码可能开始复杂起来。例如,如果有多个网站用户,每个用户都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在一个字典中,并将该字典作为与用户名相关联的值。

例:下面的程序,存储了每位用户的三项信息:名、姓和居住地。为了访问这些信息,我们遍历所有的用户名,并访问与每个用户名相关联的字典。

users={ 'aeinstein':{ 'first':'albert', 'last':'einstein', 'location':'princeton', }, 'mcurie':{ 'first':'marie', 'last':'curie', 'location':'paris', }, } for username,user_info in users.items(): print(f"\nUsername:{username}") full_name=f"{user_info['first']} {user_info['last']}" location=user_info['location'] print(f"\tFull name:{full_name.title()}") print(f"\tLocation :{location.title()}")

输出结果: 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3