簡體   English   中英

基於dict值作為鍵對列表進行排序

[英]Sort list of lists based on a dict values as key

我看到了這種基於dict值作為鍵對列表進行排序的方法。

原始問題在這里

我們可以使用此方法根據每個列表中的第一個值對列表列表進行排序嗎?

trial_dict = {1:'ABC', 2:'PQR', 3:'DEF'}
trial_list = [['ABC','-','+','/','+','-','*'],
              ['DEF','-','+','/','+','-','*'],
              ['PQR','-','+','/','+','-','*']]

排序后:

trial_list = [['ABC','-','+','/','+','-','*'],
              ['PQR','-','+','/','+','-','*'],
              ['DEF','-','+','/','+','-','*']]

您可以使用sorted()函數。

trial_dict = {1:'ABC', 2:'PQR', 3:'DEF'}
trial_dict_inv = {v: k for k, v in trial_dict.items()}
trial_list = [['ABC','-','+','/','+','-','*'],
          ['DEF','-','+','/','+','-','*'],
          ['PQR','-','+','/','+','-','*']]


print sorted(trial_list, key= lambda z:trial_dict_inv[z[0]])

輸出:

[['ABC','-','+','/','+','-','*'],['PQR','-','+','/','+ ','-','*'],['DEF','-','+','/','+','-','*']]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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