В питоне сортировка списка кортежей? - PullRequest
0 голосов
/ 25 апреля 2011

Как вы сортируете список по elemant, который является кортежем? Допустим, ниже приведен список LL. Я хочу отсортировать ID2 - LL [1], который является кортежем asc. Как бы я это сделал.

           Id,  Id2    CCC
           A123 A120 '2011-03'
  LL=      A133 A123 '2011-03'
           D123 D120 '2011-04'
           D140 D123 '2011-04'

Ответы [ 2 ]

4 голосов
/ 25 апреля 2011

Посмотрите на http://wiki.python.org/moin/HowTo/Sorting/

sorted(LL, key=itemgetter(1)) может делать то, что вы хотите.

Обратите внимание, что вам нужно from operator import itemgetter, чтобы получить функцию itemgetter.

In [1]: LL = (('A123', 'A120', '2011-03'), ('A133', 'A123', '2011-03'), ('D123', 'D120', '2011-04'), ('D140', 'D123', '2011-04'))

In [2]: from operator import itemgetter

In [3]: sorted(LL, key=itemgetter(1))
Out[3]:
[('A123', 'A120', '2011-03'),
 ('A133', 'A123', '2011-03'),
 ('D123', 'D120', '2011-04'),
 ('D140', 'D123', '2011-04')]
0 голосов
/ 25 апреля 2011

Вы можете пойти на:

LL.sort(key=lambda x:x[1])

Где 1 - индекс элемента набора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...