gpt4 book ai didi

python 排序列表列表与类型转换

转载 作者:太空狗 更新时间:2023-10-29 17:15:57 24 4
gpt4 key购买 nike

我知道类似的问题已经被问过好几次了。我现在如何使用搜索功能,但它仍然不起作用。

所以这是问题设置。我有一个包含字符串的列表列表。一列包含实际表示浮点值的字符串。它也是我要排序的列。问题是,python 似乎忽略了条目上的 -(减号)符号。因此,示例列表:

[[blaa, '0.3', bli], [bla, '0.1', blub], [bla, '-0.2', blub]]

像这样排序:

[[bla, '0.1', blub], [bla, '-0.2', blub], [blaa, '0.3', bli]]

而不是它应该如何:

[[bla, '-0.2', blub],[bla, '0.1', blub], [blaa, '0.3', bli]]

到目前为止我已经尝试过:

  • 将第二列转换为 float 并按该列排序

喜欢:

for i in mylist:
i[1] = float(i[1])

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

或与

for i in mylist:
i[1] = float(i[1])

mylist.sort(key=operator.itemgetter(1))
  • 我也试着定义我自己的比较功能:

喜欢:

mylist.sort(cmp=lambda x,y: cmp(float(x), float(y)), key=operator.itemgetter(1))

以及上述方法的任何其他组合,也与sorted相同。到目前为止没有成功,减号每次都被忽略。如何解决这个问题?

[编辑]也已经尝试过 Ignacio 的建议。我应该提到我必须使用 python 2.5。

最佳答案

l = [["blaa", "0.3", "bli"], ["bla", "0.1", "blub"], ["bla", "-0.2", "blub"]]

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

>>> [['bla', '-0.2', 'blub'], ['bla', '0.1', 'blub'], ['blaa', '0.3', 'bli']]

关于python 排序列表列表与类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4333373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com