Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何对具有多个输入的词典进行排序_Python_Sorting_Dictionary - Fatal编程技术网

Python 如何对具有多个输入的词典进行排序

Python 如何对具有多个输入的词典进行排序,python,sorting,dictionary,Python,Sorting,Dictionary,我有一本名为“语言列表”的词典,有两项:郊区和语言。 每个郊区可能有一种以上的语言 这是字典“语言列表”中的内容: ('Edgecumbe','Farsi,English'),('Junction Triangle','English,Chinese'),('Guidwood','Chinese,English'),('Greenmeadows','English')) 用户进入郊区,如Edgecumbe 我需要按字母顺序显示该郊区的语言 语言:英语、波斯语 我似乎只能对“郊区”项进行排序,但无

我有一本名为“语言列表”的词典,有两项:郊区和语言。 每个郊区可能有一种以上的语言

这是字典“语言列表”中的内容: ('Edgecumbe','Farsi,English'),('Junction Triangle','English,Chinese'),('Guidwood','Chinese,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: ') 
任何帮助都将不胜感激。

说你从

languagelist = dict([('Edgecumbe', 'Farsi, English'), ('Junction Triangle', 'English, Mandarin'), ('Guildwood', 'Mandarin, English'), ('Greenmeadows', 'English')])
然后,对于任何
位置
,该位置所说的排序语言为

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


当然,如果您只是使用一个字典将位置映射到您想要开始的位置,那会更好。

您能展示一些为此编写的代码吗?您的
languagelist
看起来不像Python字典,它看起来像元组的元组。郊区={}languagelist={}b=[]郊区=input('郊区:'))对于开放式('census.txt'):line=line.split(',')如果第[3]行不在郊区:郊区[line[3]]=line[3]a=line[4]a=a[:-1]语言列表[line[3]]=elif行[3]在郊区:郊区[line[3]]=郊区[line[3]]a=line[4]a=a[:-1]如果不在语言列表[line[3]:a=line[4]a=a[:-1]languagelist[line[3]]=languagelist[line[3]]+','+AB=languagelist[line[3]]b.split(',')languagelist[line[3]]=[]languagelist[line[3]]=b其他:在郊区时继续:如果郊区不在郊区:打印('+Suburban+'未找到任何数据)其他:打印('Languages:'+str(已排序)'(languagelist.郊区)))郊区=输入('郊区:'),该输入正确排序,但显示方括号。语言:['English',Farsi']我们是否可以删除不需要的字符,使其返回:语言:英语,Farsi