Python列表是可变对象,在这里:
plot_data = [[]] * len(positions)
您正在重复相同的列表
len(positions)时间。
>>> plot_data = [[]] * 3>>> plot_data[[], [], []]>>> plot_data[0].append(1)>>> plot_data[[1], [1], [1]]>>>
列表中的每个列表都是对同一对象的引用。您修改一个,就可以看到所有修改。
如果要使用其他列表,可以采用以下方式:
plot_data = [[] for _ in positions]
例如:
>>> pd = [[] for _ in range(3)]>>> pd[[], [], []]>>> pd[0].append(1)>>> pd[[1], [], []]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)