如何在python列表中显示变量顺序?

使用之后,如何在python中显示变量的顺序sort()。例如:


A=3

B=1

C=2

D=[A,B,C]

D.sort()会的[1,2,3],但是我想以[B,C,A]某种方式看到


HUH函数
浏览 318回答 2
2回答

翻过高山走不出你

使用仅在周围浮动的自变量来执行此操作将非常困难。为什么不使用字典呢?myDict = {"A":3, "B":1, "C":2}D = ["A", "B", "C"]D.sort(key=lambda l:myDict[l])在这里,我们在词典中有每个字母及其对应的数字。我们有一个字母顺序混乱的列表,我们可以调用sort()它。但是,我们没有使用默认的比较,而是以内联lambda函数的形式提供了自己的排序函数,该函数从字典中获取与每个字母匹配的数字。如果您不熟悉lambda语法,则与执行此操作相同,但更为紧凑:def customSort(l):    return myDict[l]D.sort(key=customSort)

慕森王

使用collections.OrderedDict,您可以提供按值排序的键值对列表。from collections import OrderedDictfrom operator import itemgetterd = {'A': 3, 'B': 1, 'C': 2}res = OrderedDict(sorted(d.items(), key=itemgetter(1)))# get keys ordered by valueprint(res.keys())odict_keys(['B', 'C', 'A'])# get ordered valuesprint(res.values())odict_values([1, 2, 3])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python