簡體   English   中英

將int的列表轉換為字符串作為sort中dict的鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM