如何在lis中对字典中的值进行排序

2024-04-25 23:51:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我才刚开始学python。我们被告知数据类型(整数、浮点、布尔),还有集合、字符串、列表等,还有一些循环(for/while)。在我的家庭作业中,我需要返回一个只包含来自印度的访问的地理日志过滤列表的代码。你知道吗

我需要在没有困难的函数,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是如何工作的,而不仅仅是做家庭作业。你知道吗


Tags: 字符串代码列表for整数visit地理geo
2条回答

试试这个:

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

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

显然,[['Delhi', 'India']]不等于'India'。你知道吗

试试if 'India' in list(visit.values())[0]。你知道吗

这个数据结构有点让人困惑,为什么你有不同的键visit1visit2等等,而数据在不同的字典中呢?要么使它们都具有相同的键visit,要么将它们合并到一个大字典中。你知道吗

相关问题 更多 >