x=[1,2,3] x.extend('a')
输出:
x is [1,2,3,'a']
但是当我执行以下操作时:
[1,2,3].extend('a')
None
为什么扩展列表引用而不是列表扩展?
我发现这是因为我在尝试将listC扩展到listB时试图将listB附加到listA。
listA.append([listB[15:18].extend(listC[3:12])])
假设列表不能直接附加/扩展。解决该问题最常用的表格形式是什么?
list.extend修改到位列表,不返回任何内容,从而导致None。在第二种情况下,这是一个正在扩展的临时列表,该列表在该行后立即消失,而在第一种情况下,可以通过引用x。
list.extend
x
在尝试将listC扩展到listB时将listB附加到listA。
除了使用之外extend,您可能想要尝试以下操作:
extend
listA.append(listB[15:18] + listC[3:12])
或者,extend如果要实际修改listB或,则用多个简单的行来完成listC。
listB
listC