2016-03-10 115 views
-2

我有一個字符串,我想創建一個帶有前綴的字符串列表。 例如如何更新字符串列表?

def foo(val): 
    return ['PREF' + str(i) + '_' + val for i in np.arange(5) + 1] 

b = foo('abc') 

我希望b = ['PREF1_abc', 'PREF2_abc', 'PREF3_abc', 'PREF4_abc', 'PREF5_abc'] 但我收到錯誤

*** NameError: name 'val' is not defined

爲什麼「val」沒有定義,以及如何創建一個列表?

+0

你的np是什麼? – hungneox

+0

np是什麼? NumPy的? 1.10.1-py35_0 – Dev

+1

對我來說很合適。你能展示完整的追溯?但你可以這樣做: 'return ['PREF {i} _ {val}'.format(i = i,val = val)for i in np.arange(1,6)]' – styvane

回答

0

試試;

>>> def foo(val): 
     return ['PREF' + str(i + 1) + '_' + val for i in range(5)] 
... ... 
>>> foo('abc') 
['PREF1_abc', 'PREF2_abc', 'PREF3_abc', 'PREF4_abc', 'PREF5_abc'] 
>>> 
+1

這將不會觸及錯誤,如果有任何錯誤 - 也只是使用範圍(1,6)。 – jsbueno

相關問題