创建具有可变部分的列表

问题描述:

我想创建一个列表具有可变部分:创建具有可变部分的列表

mylist = ['a1','a2','a3','a4','a5'] 

我想:

i = range(1,5) 
ii = [str(x) for x in i] 

其工作,然后我想这样做:

mylist = list('a' + x for x in ii) 

但不起作用

+0

的你认为工作的一部分实际上是错误的,而你认为​​不起作用的部分对我来说看起来不错。 – user2357112

+0

对于“范围函数”中的错字,我很抱歉。下次我会更专注。我收到一个 - 'list'对象不可调用 - 错误... – salim

+0

当您发布到SO时,请勿键入您的代码,请复制粘贴它。 –

Python中的范围是half-open,因此您必须使用xrange(1,6),虽然级联很好(两个字符串之间的),但您也可以使用str.format。您可以遍历号码,并将其追加到a一气呵成与xrange列表理解(见xrange vs range),使得你不需要在这个过程中创建两个临时表像你一样:

>>> [str.format('a{0}', x) for x in xrange(1,6)] 
['a1', 'a2', 'a3', 'a4', 'a5'] 
>>> ['a' + str(x) for x in xrange(1,6)] 
['a1', 'a2', 'a3', 'a4', 'a5']