创建具有可变部分的列表
问题描述:
我想创建一个列表具有可变部分:创建具有可变部分的列表
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)
但不起作用
答
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']
的你认为工作的一部分实际上是错误的,而你认为不起作用的部分对我来说看起来不错。 – user2357112
对于“范围函数”中的错字,我很抱歉。下次我会更专注。我收到一个 - 'list'对象不可调用 - 错误... – salim
当您发布到SO时,请勿键入您的代码,请复制粘贴它。 –