python 元组列表排序

标签 python list sorting python-3.x tuples

所以我有一个包含一大堆元组的列表

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):

然后出现错误

################编辑###################

另一方面,通过迭代打印列表效果很好

所以

for i in j:
    print(i)

工作正常,而仅 print(j) 会返回该错误

最佳答案

我认为您的代码工作正常,并且您看到列表的第一部分,其中 key 实际上是 0.0.0.0。您只需按升序对列表进行排序:-)

关于python 元组列表排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5482546/

相关文章:

java - 为什么我的 "median of medians"算法总是只错几个位置?

java - 按日期对 ArrayList<String> 进行排序,不包括字符串的前半部分

c - 按升序对堆栈进行排序?

python - 如何在Python中创建内置 "object()"的对象?

python - 需要帮助格式化 Google API 的日期时间时区

python - 将 NamedTemporaryFile 传递给 Windows 上的子进程

python - 在 Python 中连接成对的列表元素

jQuery UI Accordion 替换无序列表的样式?

java - Google App Engine 和 Python 连接项目

r - 使用每个小标题中的名称从小标题列表中选择变量