python - 访问字典中的嵌套列表
问题描述
所以我在一个研究多层词典的实验室工作,目标是接收一个字符串的输入,包括一个国家和位于这个国家的三个城市,即
string = "Spain Madrid Barcelona Valencia"
,然后要求输入(city = "Madrid"
)。如果之前输入过城市,则输出应为Madrid is located in Spain
,否则输出应为No data on input city
。
我想出了以下几点:
country = "Spain Madrid Barcelona Valencia".split()
#Initialize a dictionary:
d = {}
#Create another list that only includes cities:
cities_list = country[1:]
#Create a nested list within a dictionary:
d[country[0]] = cities_list
这将提供一个嵌套字典,例如{'Spain': ['Madrid', 'Barcelona', 'Valencia']}
这就是我真正感到困惑的地方。很明显,我需要访问嵌套列表,但使用 d.values() 只会给出以下输出
dict_values([['Madrid', 'Barcelona', 'Valencia']])
我显然缺少有关该主题的一些基本信息,但是我在这里和 Eric Matthes 的“速成班”中查找过,但仍然找不到可靠的解决方案。
可能我最初的方法是完全错误的?这里也有几个类似的主题,但似乎没有一个实际上不仅涉及访问列表(我有点理解:d.“Spain”[0]),还涉及将输入与列表值之一进行比较。
无论如何,任何建议都会很棒。
解决方案
你是对的,要检查Madrid
你的字典中是否存在,你可以使用 for 循环来检查
city_to_be_searched = 'Madrid'
result = None
for k,v in d.items():
if city_to_be_searched in v:
result = k
if(result):
print(f'{city_to_be_searched} located in {result}')
else:
print('No data found')
Madrid located in Spain
推荐阅读
- r - 如何在闪亮的r中将ggplot放在renderPlot中?
- c# - C#双重事实来源(字典和值项)
- mysql - 按生日排序
- scala - 使用 gson 库将 Scala 类转换为字符串时,不会转义 UTF-8 字符
- html - 有没有办法定位所有 Font Awesome 图标并将它们居中对齐?
- python - 如何在 Python 中查询嵌套的 mongoDB 数据?
- c# - 在 Visual Studio 19 和 Monogame/Xna 上开始调试需要很长时间
- java - 如何在 CLI 中从 /src 和 /WebContent 文件夹创建有效的战争文件?
- spring - 使用 Spring Security 和 Keycloak OpenID Connect 注销不起作用
- bash - 通过给定指令将项目迭代存储到相应的文件