繁体   English   中英

如何计算 python defaultdict 中特定键中的值的数量

[英]how to count the number of values in a specific key in a python defaultdict

我正在尝试完成这个问题。 我不知道我要去哪里错了..

输入的第一行是一个数字,表示后面有多少对单词(每对在单独的行中)。 这些对的形式为 COUNTRY CITY,指定城市所在的国家/地区。 最后一行是城市名称。 打印与该城市位于同一国家/地区的城市数量。

暗示。 使用字典。

例如,在输入时:

6
UK London
US Boston
UK Manchester
UK Leeds
US Dallas
Russia Moscow
Manchester

output 必须是:3

from collections import defaultdict

n=input()
d=defaultdict(list)
city=' '



 for i in range(0,int(n)):
  kv=input().split()
  d[kv[0]].append(kv[1])




 for k1,v1 in d.items():
 if v1==city:
   print(len(k1))

你错过了城市的输入你需要检查城市是否在列表中,然后计算有多少

from collections import defaultdict

n=input()
d=defaultdict(list)
city=' '



for i in range(0,int(n)):
  kv=input().split()
  d[kv[0]].append(kv[1])



city = input('Enter a city')
for k1,v1 in d.items():
 if city in v1:
   print(len(v1))

与其他人提到的一样,您也需要为查询城市输入内容。 此外,您可以采用不同的方式处理此问题 - 您不需要defaultdict 由于您的查询是一个城市,我们将其作为键存储在字典中,值为国家。 然后我们可以找到我们需要得到哪个国家。 之后,只需在字典中计算该国家/地区的值即可。

n = input()
city_to_country = {}

for i in range(0, int(n)):
    kv = input().split()
    city_to_country[kv[1].rstrip()] = kv[0]

query_city = input()

target_country = city_to_country[query_city]

print(list(city_to_country.values()).count(target_country))

暂无
暂无

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

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