これは私のコードです。あなたが見ることができるように、要素がリストにない場合は、すべての要素をリストに追加しますが、まだ何らかの形で重複要素があることに気付きました。リストにないと、まだ重複している要素があります
def getExtraData(table):
extraData = list()
for ele in table:
extras = re.findall('\[(.+?)\]', str(ele[0]))
for extra in extras:
single = extra.split(", ")
for s in single:
if s not in extraData:
extraData.append(s)
return extraData
pycharmデバッガーコンソールでスクリーンショットを撮って、要素が本当に同じであることを示します。
なぜこれが起こる可能性があり、どのように私はそれを修正することができますか?
これは、リストの2回の反復と、メモリの再割り当てです(ジェネレータの各要素は、不変のオブジェクトとしてコピーする必要がある小文字の文字列を作成します)。もちろん、サイム大規模な複雑さ。さらに、格納されたコンテナから最初の大文字を取得するので、プロセスは順序に依存します。 – lejlot