在python中从list的每个元素中提取

2024-04-20 09:55:00 发布

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

我有以下清单:

ll = ['listA_5_val','listB_15_val','listC_25_val']

我想在此基础上创建一个新列表:

new_list = [5,15,25]

我们从每个列表中提取了数字。我可以对一个元素这样做:

ll[0][6:-4]

如何对整个列表执行此操作?你知道吗


Tags: 元素列表new数字vallistlllista
3条回答

对于每个元素,更好的方法之一是使用str.split将元素分成三部分,然后将中间部分转换为整数:

int(element.split("_")[1])

要对每个元素执行此操作,最惯用的方法是使用列表理解:

new_list = [int(element.split("_")[1]) for element in ll]

使用list comprehension

>>> ll = ['listA_5_val','listB_15_val','listC_25_val']

>>> [int(x[6:-4]) for x in ll]
[5, 15, 25]

>>> [int(x.split('_')[1]) for x in ll]
[5, 15, 25]

当然,通过列表理解可以这样做:

arr = [int(i[6:-4]) for i in ll]

结果是:[5, 15, 25]

相关问题 更多 >