私は要素ごとに & および要素ごとにしようとしています | 6 つの 2 進数の 8 つのリストの 2 つのリストで、非常に奇妙な動作をしています。c1 と c2 は、長さ 6 のタプルである要素を持つ長さ 8 のタプルとして始まり、res は c1 のリスト バージョンとして始まります。
アンディング:
for x in range(8):
for y in range(6):
res[x][y] = (c1[:][x][y])*(c2[:][x][y])
論理和:
for x in range(8):
for y in range(6):
res[x][y] = int(c1[:][x][y] or c2[:][x][y])
例:
c1: ((1, 0, 0, 0, 1, 1), (1, 1, 0, 0, 0, 1), (1, 1, 1, 0, 0, 0), (0, 1, 1, 1, 1, 0), (1, 0, 0, 0, 1, 1), (0, 1, 1, 0, 0, 0), (1, 1, 0, 1, 0, 0), (0, 1, 0, 0, 1, 0))
c2: ((1, 0, 1, 1, 0, 0), (0, 1, 0, 1, 1, 0), (0, 1, 1, 0, 1, 0), (0, 0, 0, 0, 1, 1), (1, 1, 0, 0, 1, 0), (1, 0, 1, 0, 1, 0), (0, 0, 0, 1, 0, 1), (0, 0, 1, 0, 1, 0))
anding res:[[1, 0, 0, 0, 1, 0], [0, 1, 0, 0, 0, 0], [0, 1, 1, 0, 0, 0], [0, 0, 0, 0, 1, 0], [1, 0, 0, 0, 1, 0], [0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0]]
oring res: [[1, 1, 0, 0, 1, 1], [1, 1, 0, 1, 1, 1], [1, 1, 1, 0, 1, 0], [0, 1, 1, 1, 1, 1], [1, 1, 0, 0, 1, 1], [1, 1, 1, 0, 1, 0], [1, 1, 0, 1, 0, 1], [0, 1, 1, 0, 1, 0]]
c1 の他の入力は、最初のサブリストよりもはるかに混乱する可能性があります。
編集:これは解決されました。コードの他の部分のエイリアスの問題である可能性が最も高く、リスト内包表記を使用することになりました。