2024-04-20 09:55:00 发布
网友
我有以下清单:
ll = ['listA_5_val','listB_15_val','listC_25_val']
我想在此基础上创建一个新列表:
new_list = [5,15,25]
我们从每个列表中提取了数字。我可以对一个元素这样做:
ll[0][6:-4]
如何对整个列表执行此操作?你知道吗
对于每个元素,更好的方法之一是使用str.split将元素分成三部分,然后将中间部分转换为整数:
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]
[5, 15, 25]
对于每个元素,更好的方法之一是使用
str.split
将元素分成三部分,然后将中间部分转换为整数:要对每个元素执行此操作,最惯用的方法是使用列表理解:
使用list comprehension:
当然,通过列表理解可以这样做:
结果是:
[5, 15, 25]
相关问题 更多 >
编程相关推荐