[英]Create a Python list filled with the same string over and over and a number that increases based on a variable.
我正在嘗試創建一個列表,該列表由重復出現的字符串填充,並且該數字標記它在行中的哪一個。 標記有多少字符串的數字來自int變量。
所以像這樣:
b = 5
a = range(2, b + 1)
c = []
c.append('Adi_' + str(a))
我希望這會創建一個這樣的列表:
c = ['Adi_2', 'Adi_3', 'Adi_4', 'Adi_5']
相反,我得到這樣的列表
c = ['Adi_[2, 3, 4, 5]']
所以當我嘗試在新行中打印它時
for x in c:
print"Welcome {0}".format(x)
結果是:
Welcome Adi_[2, 3, 4, 5]
我想要的結果是:
Welcome Adi_2
Welcome Adi_3
Welcome Adi_4
Welcome Adi_5
如果有人有想法我會很感激。
你幾乎得到了它:
for i in a:
c.append('Adi_' + str(i))
你的初始行正在改變整個列表a
為字符串。
請注意,您可以通過列表理解和一些字符串格式來擺脫循環:
c = ['Adi_%s' % s for s in a]
要么
c = ['Adi_{0}'.format(s) for s in a] #Python >= 2.6
使用列表推導:
b = 5
a = range(2, b + 1)
c = ['Adi_'+str(i) for i in a]
for x in c:
print"Welcome {0}".format(x)
或者作為列表理解:
b = 5
a = range(2, b + 1)
c = ["Adi_" + str(i) for i in a]
或全部在一條線上:
>>> for s in ['Welcome Adi_%d' % i for i in range(2,6)]:
... print s
...
Welcome Adi_2
Welcome Adi_3
Welcome Adi_4
Welcome Adi_5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.