簡體   English   中英

創建一個反復填充相同字符串的Python列表以及基於變量增加的數字。

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM