创建一个反复填充相同字符串的Python列表以及基于变量增加的数字.

Adi*_*ous 8 python python-2.7

我正在尝试创建一个列表,该列表由重复出现的字符串填充,并且该数字标记它在行中的哪一个.标记有多少字符串的数字来自int变量.

所以像这样:

b = 5
a = range(2, b + 1)
c = []
c.append('Adi_' + str(a))
Run Code Online (Sandbox Code Playgroud)

我希望这会创建一个这样的列表:

c = ['Adi_2', 'Adi_3', 'Adi_4', 'Adi_5']
Run Code Online (Sandbox Code Playgroud)

相反,我得到这样的列表

c = ['Adi_[2, 3, 4, 5]']
Run Code Online (Sandbox Code Playgroud)

所以当我尝试在新行中打印它时

for x in c:
    print"Welcome {0}".format(x)
Run Code Online (Sandbox Code Playgroud)

结果是:

Welcome Adi_[2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

Welcome Adi_2
Welcome Adi_3
Welcome Adi_4
Welcome Adi_5
Run Code Online (Sandbox Code Playgroud)

如果有人有想法我会很感激.

Pie*_* GM 12

你几乎得到了它:

for i in a:
    c.append('Adi_' + str(i))
Run Code Online (Sandbox Code Playgroud)

您的初始行将整个列表转换a为字符串.

请注意,您可以通过列表理解和一些字符串格式来摆脱循环:

c = ['Adi_%s' % s for s in a] 
Run Code Online (Sandbox Code Playgroud)

要么

c = ['Adi_{0}'.format(s) for s in a] #Python >= 2.6
Run Code Online (Sandbox Code Playgroud)