我下面有字典
{0:“州”:“AL”,“人口”:“151449859682”,“顶级城市”:“1”,“排名”:“1”},1:{“州”:“纽约”,“人口”:“8955557”,“顶级城市”:“6”,“排名”:“2”},2:{“州”:“CA”,'POPULATION':'7123215','TOP_CITY':'10',‘秩’:'3'},3:{'STATE':'PH',‘人口’:'68557813',‘顶级城市’:'11',‘排名’:'4'},4:{‘国家’:'IN',‘人口’:'7678676',“顶级城市”:'14',‘排名’:‘5’}
我想通过询问用户的输入,按照降序排序。
value2sort= input('Enter the value to sort')排名
parameter= input('asc for ascending order and desc for descending order')描述
预期结果低于
{4:{“州”:“在”,“人口”:“7678676”,“顶级城市”:“14”,“排名”:“5”},3:{“州”:“PH”,“人口”:“68557813”,“顶级城市”:“11”,“排名”:“4”},2:{“州”:“CA”,'POPULATION':'7123215','TOP_CITY':'10',‘秩’:'3'},1:{‘国家’:'NY',‘人口’:'8955557',‘顶级城市’:'6',‘排名’:'2'},0:{'STATE':'AL',‘人口’:'151449859682',“顶级城市”:“1”,“排名”:'1‘}
发布于 2018-10-15 16:48:37
将sorted与dict()构造器一起使用,然后将输入的值传递到排序中,您可以设置一个字典,该字典可以传递用于True/False处理asc/desc的参数。
value = input('Enter the value to sort: ')
param = input('Enter "asc" for ascending and "desc" for descending order: ')
order = {'asc': False, 'desc': True}
d = dict(sorted(d.items(), key=lambda x: int(x[1][value]), reverse=order[param]))
print(d)输入排序的值:秩输入"asc“表示升序," desc”表示降序:desc {4:{'STATE':'IN',‘PH’:'7678676','TOP_CITY':'14',‘秩’:'5'},3:{'STATE':'PH',‘人口’:'68557813','TOP_CITY':'11',‘秩’:'4'},2:{'STATE':'CA','POPULATION':'7123215','TOP_CITY':'10',‘秩’:'3'},1:{‘国家’:'NY',‘人口’:'8955557',‘顶级城市’:'6',‘排名’:'2'},0:{'STATE':'AL',‘人口’:'151449859682',‘顶级城市’:'1',‘排名’:'1'}}
https://stackoverflow.com/questions/52821086
复制相似问题