根据列表大小创建具有固定前缀的字符串列表

时间:2013-11-12 08:39:33

标签: python string python-3.x list-comprehension

我想创建一个带有固定前缀的字符串列表,其中后缀基于列表的大小,使用python 3.3.2。

例如,我有一个elements列表len(elements)等于3.输出应该是列表output = ['prefix_1','prefix_2','prefix_3']

我可以通过使用循环来完成此操作:

elements = ['elem1','elem2','elem3']
output = []
for i in range(len(elements)):
    output.append('prefix_'+str((i+1)))

这可行,但似乎有点......对我来说是unpythonic。是否有更多的pythonic方式来做到这一点?例如,列表理解?

3 个答案:

答案 0 :(得分:2)

使用enumeratestr.format

>>> elements = ['elem1','elem2','elem3']
>>> output = ['prefix_{}'.format(i) for i, elem in enumerate(elements, 1)]
>>> output
['prefix_1', 'prefix_2', 'prefix_3']

答案 1 :(得分:1)

o = ["prefix_" + str(i+1) for i in range(len(elements))]

答案 2 :(得分:1)

output=['prefix_'+str(i+1) for i in range(len(['elem1','elem2','elem3']))]