поэтому у меня есть список с целой кучей кортежей
j =
[('jHKT', 'Dlwp Dfbd Gwlgfwqs (1kkk)', 53.0),
('jHKT', 'jbdbjf Bwvbly (1kk1)', 35.0),
('jHKT', 'Tfstzfy (2006)', 9.0),
('jHKT', 'fjznfnt Dwjbzn (1kk1)', 25.0),
('jHKT', 'Vznbsq sfnkz (1k8k)', 4.0),
('jHKT', 'fxzt, Clwwny! (2005)', 8.0),
('jHKT', "Dwfs Thzs jfbn Wf'lf jbllzfd? (1kk1)", 12.0),
('jHKT', 'Chbzljbn wf thf Bwbld (1kk8)', 30.0),
('jHKT', 'Vblfdzctzwn (2006)', 8.0),
('jHKT', 'jwltbl Kwjbbt (1kk5)', 13.0)]
, и я попытался отсортировать его, используя третий элемент кортежа в качестве индекса:
обратите внимание, что списоквыше только частичный список ... фактический список содержит тысячи элементов
в любом случае, так что я сделал:
j = sorted(j, key=lambda e : e[2])
, но затем, когда я делаю это, он заканчивает испортить третийэлемент кортежа, и я очень сомневаюсь, что он на самом деле отсортирован ... вот еще один частичный список вывода
('jHKT', 'Frz yzng (2004)', 0.0)
('jHKT', 'kff thr Mvp (2003)', 0.0)
('jHKT', 'HzpHkpBvttlr.ckm: Hzp Hkp 4 Lzfr (2001)', 0.0)
('jHKT', 'z Wvlk thr Lznr (1970)', 0.0)
('jHKT', '1971: erzsknrrs kf svr (2007)', 0.0)
('jHKT', 'Wzld Rzdr, Thr (1960)', 0.0)
('jHKT', 'Dzshdkgz (2005)', 0.0)
('jHKT', 'Lzttlr Thzngs, Thr (2006)', 0.0)
('jHKT', 'Trrmznvl rrrkr (2002)', 0.0)
('jHKT', 'Hqngry Bvchrlkrs Clqb, Thr (1999)', 0.0)
('jHKT', 'Swrrt Lkvr, Bzttrr (1967)', 0.0)
('jHKT', 'Trn tk Chz tk (1990)', 0.0)
('jHKT', 'Bvr-Crl-knv (1987)', 0.0)
('jHKT', 'Rknny & Czndy zn vll kf qs (2006)', 0.0)
, в этом случае он завершил сброс всех третьих элементов кортежей в 0...
что я сделал не так ??
Я использую python 3
##############################РЕДАКТИРОВАТЬ####################################
также, когда я попытался напечатать список кортежей, он вернул бы эту ошибку:
print(j)
IOError: [Errno 22] Invalid argument
и печать внезапно остановилась бы ...:
('sadfasdf (1991)', 'xcvwert (1985)', 0.0), ('r3sdaf (1991)', 'jkzxkk (1993)', 0.0), ('werwww (1991)', 'Third WhTraceback (most recent call last):
и затем появляется ошибка
################ EDIT ###################
С другой стороны, печать списка с помощью итерации работает нормально
, поэтому
for i in j:
print(i)
работает нормально, тогда как просто print (j) вернет эту ошибку