【发布时间】:2012-08-06 07:29:49
【问题描述】:
my_list = [1, 2]
def f():
print my_list
yield 11
print my_list
yield 22
print my_list
my_list[:] = f()
print "finally ",
print my_list
输出:
[1, 2]
[1, 2]
[1, 2]
finally [11, 22]
我的预期是:
[1, 2]
[11, 2]
[11, 22]
finally [11, 22]
有人曾经告诉我切片分配已经到位。显然不是。有没有优雅的方法来实现它?
【问题讨论】:
-
@BrenBarn 你确定它应该从“slice”编辑到“splice”吗?
-
是(或者更确切地说,从“拼接”到“切片”)。例如,参见docs.python.org/library/… 上的文档