我想创建一个带有固定前缀的字符串列表,其中后缀基于列表的大小,使用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方式来做到这一点?例如,列表理解?
答案 0 :(得分:2)
>>> 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']))]