【发布时间】:2014-02-28 11:23:26
【问题描述】:
我有一个如下所示的列表:
list = [[u'schei\xdfunwetter', u'storm', u'0.0007813'], [u'schei\xdfunwetter', u'goddamn', u'0.0002343'], [u'ingenieurin', u'night', u'0.0000442'], [u'ingenieurin', u'you', u'0.0000008'], [u'ingenieurin', u'NULL', u'0.0000004'], [u'ingenieurin', u'last', u'0.0000472'], [u'ingenieurin', u'anything', u'0.0000328']]
我想按数字(=概率)对这个列表进行排序。
查看 Stackoverflow 上以前的问题/答案,我发现了以下解决方案,它似乎适用于列表 (li = [['a1', 1, 1.56], ['b3', '6', 9.28], ['c2', 1, 6.25]...]):
list.sort(key=itemgetter(2))
但是,对于我的数据,这不起作用并返回 NONE。 因为我认为它与数字是一个字符串有关,所以我尝试了以下方法:
sorted_list = list.sort(key=lambda x: int(x[2]))
,但这会返回另一个错误:
ValueError: invalid literal for int() with base 10: '0.0000723'
谁能帮忙?
【问题讨论】:
-
list.sort 总是 返回无。该列表已就地排序。
标签: python