Python更改列表项

2024-04-16 19:16:09 发布

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

最初,我们在列表中有名称和数字,有必要在新列表中转换所有名称和数字

name1 = [u'pPlane1']
list1 = [19, 20, 21, 22, 24]

预期结果:

list2 = ['pPlane1.e[19]', 'pPlane1.e[20]', 'pPlane1.e[21]', 'pPlane1.e[22]', 'pPlane1.e[24]']

如果有任何帮助,我将不胜感激:)


Tags: 名称列表数字list2name1list1pplane1
2条回答
list2 = [name1[0]+'.e['+str(i)+']' for i in list1]

您可以使用列表理解直接从源代码创建新列表。通过使用字符串格式,可以很好地创建每个元素的目标字符串。你知道吗

list2 = ['{}.e[{}]'.format(name1[0], num) for num in list1]

如果name1包含多个名称,可以创建如下笛卡尔积:

list2 = ['{}.e[{}]'.format(name, num) for num in list1 for name in name1]

例如:

>>> name1 = ['pPlane1', 'pPlane2']
>>> list1 = [19, 20, 21]
>>> ['{}.e[{}]'.format(name, num) for num in list1 for name in name1]
['pPlane1.e[19]', 'pPlane2.e[19]', 'pPlane1.e[20]', 'pPlane2.e[20]', 'pPlane1.e[21]', 'pPlane2.e[21]']

相关问题 更多 >