如何在没有库的情况下创建计数器?
How to create a counter without libraries?
我想构建一个计数器(仅使用“纯”python -->没有库) 的 列表countries_nametags,它将在词典 并计算与相关联的大陆country_nametag.
示例:
continent_dict = {'BR': 'America','GEO': 'Asia','JP': 'Asia','SWZ': 'Africa','GER':'Europe','SRB': 'Europe','ARG': 'America'}
列表:
countries = ['PT','ARG','GEO','JP','SRB','BR']
continent_counter = {'America':0, 'Asia':0,'Africa':0,'Europe':0,'Oceania':0} #dictionary that stores the number of occurencies
for country in countries:
continent_counter[continent_nations_dict[country]] = 1
Max_Continent = max(continent_counter, continent_counter.get)
它得到错误...(可能是我得到max_continent值的方式? )
您可以创建一个字典,将各大洲的名称作为键,将与每个大陆相关联的国家/地区的数量作为值。
continent_counter = {'America':0, 'Asia':0,'Africa':0,'Europe':0}#,etc...
for country in countries:
continent_counter[continent_dict[country]] += 1
Max_Continent = max(continent_counter, key=continent_counter.get)
print(Max_Continent)
如果两个大陆相等(与它们相关联的国家数量相同且数量最多),这只会为您提供其中一个作为输出。如果你需要两个大洲,你可以在前面的代码中添加:
All_Continents = [] #Creates the list that will contain all the highest
#ranked continents
for key, value in continent_counter.items(): #loop over continent_counter
if value == continent_counter[Max_Continent]: #if we find a max val
All_Continents.append(key) # we append the name of the
#continent to the list
print(All_Continents)
您可以 'map' 数组值作为字典中大陆的列表,并使用 'max` 计算最频繁出现的大陆
c_list=list(countries.map(lambda x: continent_dict[x])
max( set(c_list), key=c_list.count)
我想构建一个计数器(仅使用“纯”python -->没有库) 的 列表countries_nametags,它将在词典 并计算与相关联的大陆country_nametag.
示例:
continent_dict = {'BR': 'America','GEO': 'Asia','JP': 'Asia','SWZ': 'Africa','GER':'Europe','SRB': 'Europe','ARG': 'America'}
列表:
countries = ['PT','ARG','GEO','JP','SRB','BR']
continent_counter = {'America':0, 'Asia':0,'Africa':0,'Europe':0,'Oceania':0} #dictionary that stores the number of occurencies
for country in countries:
continent_counter[continent_nations_dict[country]] = 1
Max_Continent = max(continent_counter, continent_counter.get)
它得到错误...(可能是我得到max_continent值的方式? )
您可以创建一个字典,将各大洲的名称作为键,将与每个大陆相关联的国家/地区的数量作为值。
continent_counter = {'America':0, 'Asia':0,'Africa':0,'Europe':0}#,etc...
for country in countries:
continent_counter[continent_dict[country]] += 1
Max_Continent = max(continent_counter, key=continent_counter.get)
print(Max_Continent)
如果两个大陆相等(与它们相关联的国家数量相同且数量最多),这只会为您提供其中一个作为输出。如果你需要两个大洲,你可以在前面的代码中添加:
All_Continents = [] #Creates the list that will contain all the highest
#ranked continents
for key, value in continent_counter.items(): #loop over continent_counter
if value == continent_counter[Max_Continent]: #if we find a max val
All_Continents.append(key) # we append the name of the
#continent to the list
print(All_Continents)
您可以 'map' 数组值作为字典中大陆的列表,并使用 'max` 计算最频繁出现的大陆
c_list=list(countries.map(lambda x: continent_dict[x])
max( set(c_list), key=c_list.count)