gpt4 book ai didi

包含整数和字符串的列表的Python排序列表,其中包含整数

转载 作者:行者123 更新时间:2023-11-28 22:51:05 26 4
gpt4 key购买 nike

我如何使用python对列表格式进行排序

format=["12 sheet","4 sheet","48 sheet","6 sheet", "busrear", "phonebox","train"]

像这样

format =["4 sheet", "6 sheet", "12 sheet", "48 sheet", "busrear", "phonebox", "train"]

谁的答案在这里Python sort array of string with integers inside

但是如果数组是列表的列表那么我们怎么能像这样呢

format=[[1, '12 sheet', 0],[2, '4 sheet', 0], [3, '48 sheet', 0], [4, '6 sheet', 0 [5, 'Busrear', 0], [6, 'phonebox', 0], [7, 'train', 0]]

我需要这样的结果

format=[[2, '4 sheet', 0],[4, '6 sheet', 0],[1, '12 sheet', 0],[3, '48 sheet', 0],[5, 'Busrear', 0], [6, 'phonebox', 0], [7, 'train', 0]]

最佳答案

你可以这样做:

lst = [[1L, u'12 sheet', 0],
[2L, u'4 sheet', 0],
[3L, u'48 sheet', 0],
[4L, u'6 sheet', 0],
[5L, u'Busrear', 0],
[6L, u'phonebox', 0],
[7L, u'train', 0]]

def sortby(x):
try:
return int(x[1].split(' ')[0])
except ValueError:
return float('inf')

lst.sort(key=sortby)
print lst

输出:

[[2L, u'4 sheet', 0], [4L, u'6 sheet', 0], [1L, u'12 sheet', 0], [3L, u'48 sheet', 0], [5L, u'Busrear', 0], [6L, u'phonebox', 0], [7L, u'train', 0]]

您始终可以使用更高级的列表推导式,但可读性很重要。这就是为什么您可能不想修改很酷的 solution由 faltru 为这个稍微改变的任务。

关于包含整数和字符串的列表的Python排序列表,其中包含整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22066753/

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