我有一些基本的守则,我没有掌握的行为:
L = [ 'a', 'bb', 'ccc' ]
L.append(range(2))
print len(L)
print len(L + range(1))
print len(L)
其输出为
4
5
4
这让我很困惑,因为我的思考过程是,初始列表的长度是3,在末尾添加range(2)
将其长度增加到5。因此,我希望输出是5 6 5
。我相信这是一个简单的怪癖,但我有点迷茫,有一个地狱般的时间试图在网上找到答案。有人能指点我正确的方向吗?
Tags:
您附加了一个列表对象。您没有将
range
生成的列表中的元素添加到L
。嵌套列表对象只添加一个元素:注意
[0, 1]
,即range()
函数的输出。您正在寻找
list.extend()
而不是:作为} was a class attribute ):
list.extend()
的替代方法,在大多数情况下,您也可以使用+=
扩展赋值(但考虑到更新的L
列表被赋值回L
,它可以lead to surprises when ^{相关问题 更多 >
编程相关推荐