Python /将数据附加到列表索引

时间:2018-04-16 08:06:16

标签: python list copy deep-copy listitem

在Python中,如果l1是一个列表,如果我们分配l2 = l1并通过赋值将l1直接更改为其他列表,那么l2也将更改为我们分配给l1的列表。

通过使用类似的东西可以避免这种情况。

l2 = list(l1)

l2 = l1[:]

import copy
l2 = copy.copy(l1)

import copy
l2 = copy.deepcopy(l1)

对于我的问题,

我在table的某种二维结构化列表中有一个4×4的数字网格,这是这样的:

-------------
| 0| 1| 2| 3|
|--|--|--|--|
| 4| 5| 6| 7|
|--|--|--|--|
| 8| 9|10|11|
|--|--|--|--|
|12|13|14|15|
-------------

table[n/4][n%4] = nn的所有值,0≤n≤15。

我正在尝试为Tic Tac Toe的扩展版本解决Spline 4×4尺寸的电路板, 一场比赛,其中两名球员中的一名必须(然后应该)在14次移动后通过使用两名球员, 不同于Tic Tac Toe n×n尺寸的板材的绘制版本,对于任何n≥3的值。

为解决这个问题,要写入Python,

win = [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15], [0, 4, 8, 12], [1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15], [0, 5, 10, 15], [3, 6, 9, 12]] 基本上对应于四个水平元素,四个垂直元素和两个对角元素。

我有一个清单

line = [[]] * 16

如果i包含{{1 }}

在下面这段代码中考虑写入Python,

i

正在简化内容,

现在就是,

为什么win[item]line[i]的结构化列表的所有索引添加win[item]的结构化列表,索引值为0,索引≤15, 但不仅仅是i的结构化列表的索引for item in win: for i in line: line[i].append(item)

为什么会出现这两个问题?

为了解决这个问题,有哪些替代方法和方法可用于写入Python?

通过仅使用相同的方式,我只使用数据库而不是字典,因为前者能够将数据存储在硬盘中并继续 从上次保存状态开始计算任何时间段,然后我试图避免使用足够慢的操作 比如Multiplication,Division,Modulo和Power,以及利用足够快的操作 像加法,减法,逻辑和逻辑或逻辑不,左移和右移。

提前谢谢。

0 个答案:

没有答案