非常に奇妙で独特なことが起こりました。私はCompare 1 column of 2D array and remove duplicates Pythonで質問に答えるためにしようとしていたと私は次のような答えをした(その質問への既存の回答の一部は、コンパクトで効率的なくらいなので、私は投稿しなかった)が、これは私が作ったコードです。同じコードからのPythonの異なる結果
array = [['abc',2,3,],
['abc',2,3],
['bb',5,5],
['bb',4,6],
['sa',3,5],
['tt',2,1]]
temp = []
temp2 = []
for item in array:
temp.append(item[0])
temp2 = list(set(temp))
x = 0
for item in temp2:
x = 0
for i in temp:
if item == i:
x+=1
if x >= 2:
while i in temp:
temp.remove(i)
for u in array:
for item in array:
if item[0] not in temp:
array.remove(item)
print(array)
コードは動作するはずです。与えられたリンクの質問者が要求したことを実行します。しかし、私は結果の二対の取得:実行したときに
[['sa', 3, 5], ['tt', 2, 1]]
そして
[['bb', 4, 6], ['tt', 2, 1]]
はなぜ同じすべてで同じコンパイラで同じオペレーティングシステム上で同じコードは2つの異なる答えを生成していますか?注:結果は交替しません。上記の2つの可能な出力の間にランダムです。
あなたは 'temp'と' array'を反復していて、その中から値を取り除いています。これは、あなたの望むことですか? – ForceBru
ああ!ありがとう@ForceBru。あなたが答えとして投稿する場合、私は正しいとマークすることができます。 – Octo