[英]Convert list of ints to strings as key for dict in sort
我有一個dict,我想用它作為排序列表的關鍵。
names = {'a': 1, 'b': 0, 'c': 2, 'd': 3, 'e': 4, 'f': 5,}
nodes = {'0': 'b', '1': 'a', '2': 'c', '3': 'd', '4': 'e', '5': 'f'}
l1 = [0, 1, 2, 3, 4]
l1.sort(key=names.get)
我想要的是L1 [1, 0, 2, 3, 4]
1,0,2,3,4 [1, 0, 2, 3, 4]
。
顯然排序行不起作用,因為數字不是dict的正確鍵。
我有節點,所以我的想法是將L1轉換為字符串值,使用結果字符串作為排序的鍵,但我只是不知道如何做到這一點。
我可以在某種巨型循環中做到這一點,但我正在嘗試學習python,我確信有更多的pythonic方法來做到這一點。
您可以將lambda表達式寫為鍵:
l1.sort(key=lambda x: nodes.get(str(x))) # convert the int to str here
l1
# [1, 0, 2, 3, 4]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.