import copy
x1 = [1,2]
x2 = [3,4]
x3 = [[5],[6]]
----------------------------------------
q1 = [x.append(b) for x in x3 for b in x1]
print(q1)
# return [None,None,None,None]
----------------------------------------
q2 = [copy.deepcopy(x).append(b) for x in x3 for b in x1]
print(q2)
# return [None,None,None,None]
----------------------------------------
tmp_x_list = []
for x in x1:
for w2 in x3:
x2_c = copy.deepcopy(w2)
x2_c.append(x)
tmp_x_list.append(x2_c)
print(tmp_x_list)
return [[5, 1], [6, 1], [5, 2], [6, 2]]
----------------------------------------
list 的append / extend均 return None,真他娘血的教训
本文通过具体示例探讨了Python中列表的append方法的行为特性,特别是当操作嵌套列表时,使用普通引用与深拷贝的区别。展示了如何避免常见的陷阱,并提供了一种正确的方法来修改嵌套列表而不影响原始数据。
1175

被折叠的 条评论
为什么被折叠?



