如何根據內部清單的特定索引對清單清單進行排序?

Patricia Arquette
發布: 2024-11-22 07:34:10
原創
845 人瀏覽過

How to Sort a List of Lists by a Specific Index of the Inner Lists?

以內部列表索引對列表進行排序

問題:

給定一個列表列表,每個內部列表包含多個元素,我們如何根據內部清單的特定索引對外部清單進行排序清單?

範例:

考慮以下列表:

[[0, 1, 'f'],
[4, 2, 't'],
[9, 4, 'afsd']]
登入後複製

如果我們想要依照字串欄位對外部列表進行排序的內部列表,我們將如何實現這一點Python?

解:

解涉及使用operator.itemgetter函數。該函數允許我們從每個內部列表中提取特定元素並將其用作排序標準。以下是我們如何使用它:

from operator import itemgetter

L = [[0, 1, 'f'], [4, 2, 't'], [9, 4, 'afsd']]
sorted(L, key=itemgetter(2))
登入後複製

解釋:

  • itemgetter(2) 返回一個從每個內部列表中提取第三個元素的函數(索引2,從0開始)。
  • sorted()中的關鍵參數指定排序標準。透過使用 itemgetter(2),我們指示排序函數使用字串欄位作為排序鍵。
  • 結果是列表的排序列表,其順序由字串欄位決定。

附加說明:

雖然itemgetter 是一種按內部排序的有效方法列表索引,對於像這樣的簡單情況,也可以使用lambda 函數。然而,在這種情況下,lambda 函數通常會變慢。

以上是如何根據內部清單的特定索引對清單清單進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板