簡體   English   中英

在python列表中訂購元組

[英]Order tuples in list in python

lst=[('fondamenti', 4, 4), ('googlecode', 1, 1), ('stylesheet', 2, 2), ('javascript', 1, 1), ('inlinemath', 1, 1), ('operazioni', 2, 3), ('permettono', 2, 1), ('istruzioni', 4, 3), ('tantissime', 1, 1), ('parentnode', 1, 1)]

如何在列表中訂購這些元組? 它們應按出現次數的總和排序,結果應為:

lst=[(u'fondamenti', 4, 4), (u'istruzioni', 4, 3), (u'operazioni', 2, 3), (u'stylesheet', 2, 2), (u'permettono', 2, 1), (u'googlecode', 1, 1), (u'inlinemath', 1, 1), (u'javascript', 1, 1), (u'parentnode', 1, 1), (u'tantissime', 1, 1)]

sorted內置函數具有用於提供排序功能的key選項。 您要對索引1和2的總和排序。這也需要顛倒順序。

>>> sorted(lst, key=lambda x: x[1] + x[2], reverse=True)
[('fondamenti', 4, 4),
 ('istruzioni', 4, 3),
 ('operazioni', 2, 3),
 ('stylesheet', 2, 2),
 ('permettono', 2, 1),
 ('googlecode', 1, 1),
 ('inlinemath', 1, 1),
 ('javascript', 1, 1),
 ('parentnode', 1, 1),
 ('tantissime', 1, 1)]

上面是“交互式會話”表示法,在這里我向您顯示了未分配變量的輸出。 在實際代碼中,您將執行以下任一操作:

# Sort and return a new object in the same name.
lst = sorted(lst, key=lambda x: x[1] + x[2], reverse=True)
# Or, sort in-place.
lst.sort(key=lambda x: x[1] + x[2], reverse=True)

執行以上一操作,而不是同時執行。

PS每個元素都是一個元組 ,而不是一個集合

暫無
暫無

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

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