为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUH函数 2021-04-07 13:14:02
使用之后,如何在python中显示变量的顺序sort()。例如:A=3B=1C=2D=[A,B,C]D.sort()会的[1,2,3],但是我想以[B,C,A]某种方式看到
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

使用仅在周围浮动的自变量来执行此操作将非常困难。为什么不使用字典呢?


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)


查看完整回答
反对 回复 2021-04-13
?
慕森王

TA贡献1777条经验 获得超3个赞

使用collections.OrderedDict,您可以提供按值排序的键值对列表。


from collections import OrderedDict

from operator import itemgetter


d = {'A': 3, 'B': 1, 'C': 2}


res = OrderedDict(sorted(d.items(), key=itemgetter(1)))


# get keys ordered by value

print(res.keys())

odict_keys(['B', 'C', 'A'])


# get ordered values

print(res.values())

odict_values([1, 2, 3])


查看完整回答
反对 回复 2021-04-13
  • 2 回答
  • 0 关注
  • 317 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号