我希望你能提供一种可以行内使用的list.extend()方法的替代方案。
与其使用
x = range(15,30,3)
x.extend([0])
print (x)
>>> [15, 18, 21, 24, 27, 0]
我需要一个行内工作的等效替代方案,就像这样:
print range(15,30,3).extend([0])
>>> None
但是extend方法不会返回列表本身。
是否有任何高级的开箱即用命令可以实现相同的功能?
只需使用+
运算符将这些列表连接起来:
range(15, 30, 3) + [0]
或者,如果你需要一个迭代器并且 list
很大,请使用 itertools.chain
:
import itertools
it = itertools.chain(range(15, 30, 3), [0])
一个快速的注释:range
在Python 3+中创建一个range
对象,它不允许串联:
范围实现了除串联和重复以外的所有常见序列操作(因为范围对象只能表示遵循严格模式的序列,而重复和串联通常会违反该模式)。
x = list(range(15, 30, 3)) + [0]
print sum([range(15,30,3)],[0])
看起来适用于我的情况... - Alen