以字符串形式包含数字的元组排序列表

2024-03-28 15:42:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我是编程新手,我不知道如何正确地完成这项工作。我正在尝试按第二个值对下面这样的元组列表进行排序,我需要将它们像int一样排序:

    [u'value3', '5,423']
    [u'value', '1,389']
    [u'value1', '3,385']
    [u'anothervalue', '2,789']
    [u'value2', '430']

现在我有这个:

^{pr2}$

结果我得到了:

    [u'value', '1,389']
    [u'anothervalue', '2,789']
    [u'value1', '3,385']
    [u'value2', '430']
    [u'value3', '5,423']

但我需要更像:

    [u'value3', '5,423']
    [u'value1', '3,385']
    [u'anothervalue', '2,789']
    [u'value', '1,389']
    [u'value2', '430'] 

或者按升序排列,这无关紧要。 感谢任何帮助。在


Tags: 列表排序value编程int元组value1新手
2条回答

您需要以下内容:

sortedList = sorted(listToSort, key=lambda x: int(x[1].replace(',', '')), reverse=True)

编辑:原始答案为降序,编辑为升序

如果值是以逗号作为千位分隔符的整数,则应执行以下操作:

sortedList = sorted(listToSort, key=lambda x: int(x[1].replace(",", "")))

如果值是浮点值:

^{pr2}$

或者您可以设置正确的区域设置以不使用replace

convert decimal mark

相关问题 更多 >