如何对多输入字典排序

2024-04-26 11:00:18 发布

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

我有一本叫做语言列表的词典,有两个条目:郊区和语言。 每个郊区可能有一种以上的语言。你知道吗

这就是字典“语言列表”中的内容: ('Edgecumbe','Farsi,English'),('Junction Triangle','English,Mandarin'),('Guildwood','Mandarin,English'),('Greenmeadows','English')

用户进入郊区,如Edgecumbe 我需要按字母顺序显示那个郊区的语言 语言:英语、波斯语

我似乎只能对“郊区”项目进行排序,但无法对该郊区的语言进行排序。你知道吗

如何仅显示用户输入的郊区语言?你知道吗

这是要显示的当前代码行:

print('Languages: ' + languagelist[suburb])

但是它没有被正确地分类。它正在显示: 语言:波斯语、英语

我现在的代码是:

suburbs={} languagelist={} b=[] suburb=input('Suburb: ') 
for line in open('census.txt'): line=line.split(',') 
if line[3] not in suburbs: suburbs[line[3]] = line[3] a=line[4]a=a[:-1] languagelist[line[3]]= a elif line[3] 
in suburbs: suburbs[line[3]] = suburbs[line[3]] a=line[4] a=a[:-1]
if a not in languagelist[line[3]]: a=line[4] a=a[:-1] languagelist[line[3]]= languagelist[line[3]] + ', ' + a b=languagelist[line[3]] b.split(', ') languagelist[line[3]]=[] languagelist[line[3]]=b 
else: continue while suburb: if suburb not in suburbs: 
print('No data found for ' + suburb + '.')       
else:print('Languages:'+str(sorted(languagelist.suburb)))suburb=input('Suburb: ') 

任何帮助都将不胜感激。你知道吗


Tags: 用户in语言列表ifenglish排序line
1条回答
网友
1楼 · 发布于 2024-04-26 11:00:18

假设你从

languagelist = dict([('Edgecumbe', 'Farsi, English'), ('Junction Triangle', 'English, Mandarin'), ('Guildwood', 'Mandarin, English'), ('Greenmeadows', 'English')])

然后,对于任何place,在那个地方所说的排序语言是

', '.join(sorted(languagelist[place].split(', ')))

当然,如果你只是用字典把位置映射到你想开始的地方,那就更好了。你知道吗

相关问题 更多 >