什么a_list.extend(list2)做(或做得更好)a_list += list2没有?
这一切都是真的,除了观察如果.extend()返回扩展列表它将是一个答案,所以你可以级联另一个方法.但事实并非如此,所以你不能.
Mar*_*ers 10
list.extend()是一个表达式,可以嵌入更大的表达式中.+=(扩充赋值)是一个语句,语句永远不能嵌入表达式中.
所以你可以这样做:
doubled_extender = lambda l, it: l.extend(v for v in it for _ in range(2))
Run Code Online (Sandbox Code Playgroud)
但你不能+=在那里使用.
请注意,对于list对象的object.__iadd__()特殊方法是+=使用,调用list.extend()直接返回之前self.
最后但并非最不重要的是,增强分配功能后来添加到语言中list.extend().