繁体   English   中英

如何对列表中的字典中的值进行排序

[英]how to sort values from a dictionary in a list

我刚刚开始学习python。 我们被告知有关数据类型(整数,浮点数,布尔值),以及集合,字符串,列表等的信息。关于循环的更多信息(for / while)。 在我的作业中,我需要代码返回仅包含来自印度的访问的geo_logs过滤列表。

我需要没有困难的功能,alpha或类似的东西来执行此操作。 仅标准循环。

geo_logs = [
    {'visit1': ['Moscow', 'Russia']},
    {'visit2': ['Delhi', 'India']},
    {'visit3': ['Bangalore', 'India']},
    {'visit4': ['Lisbon', 'Portugal']},
    {'visit5': ['Paris', 'France']},
    {'visit6': ['Mumbai', 'India']},
]

for visit in geo_logs:
    if visit.values() == 'India':
        print(visit.values())

但这不会返回任何内容。

如果可能,编写代码并进行解释。 我想了解python的工作原理,而不仅仅是做家庭作业。

.values()返回整个字典中所有值的列表。 由于您的值已经是一个列表,所以现在您有了一个列表列表,例如[['Delhi', 'India']]

显然, [['Delhi', 'India']]不等于'India'

尝试if 'India' in list(visit.values())[0]

这个数据结构有点令人困惑-当数据仍然位于单独的词典中时,为什么您具有不同的键visit1visit2等? 要么使它们都具有相同的键visit ,要么将它们组合成一本大词典。

尝试这个:

for visits in geo_logs:
  for visit,[City,Country] in visits.items():
    if Country == 'India':
      print (visits)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM