我有一个名为语言列表的词典,包含2个项目:郊区和语言。 每个郊区可能有超过1种语言。
这就是字典"语言列表中的内容": (' Edgecumbe','波斯语,英语'),(' Junction Triangle','英语,普通话'),' Guildwood','普通话,英语'),(' Greenmeadows','英语')
用户进入郊区,例如。 Edgecumbe 我需要按字母顺序显示该郊区的语言,例如 语言:英语,波斯语
我似乎只能排序"郊区" item,但无法对该郊区的语言进行排序。
如何仅显示用户输入的郊区语言?
这是要显示的当前代码行:
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: ')
非常感谢任何帮助。
答案 0 :(得分:0)
假设您从
开始languagelist = dict([('Edgecumbe', 'Farsi, English'), ('Junction Triangle', 'English, Mandarin'), ('Guildwood', 'Mandarin, English'), ('Greenmeadows', 'English')])
然后,对于任何place
,该地方所说的排序语言是
', '.join(sorted(languagelist[place].split(', ')))
当然,如果你只是使用字典映射到你想要开始的地方,它会更好 。