のリストのリストから重複リスト項目を削除:は、次のように私はリストのリストのリストを持っているリスト
All_Data= [[['Chemical Name', 'Average Ret. Time', 'Maximum Area'],
['1-hexanol', 5.10, 2544937.0], ['1-hexanol', 8.69, 3798101.0],
['1-hexanol', 5.54, 2470679.0], ['2-propanone-1-hydroxy-', 1.97, 227607.0],
['acetic acid', 1.962, 227607.0], ['acetic acid', 1.75, 38359423.0],
['acetoin', 2.32, 478054.0]],
[['Chemical Name', 'Average Ret. Time', 'Maximum Area'], ['1-pentanol', 3.00, 24864.0],
['2-heptanone', 5.54, 10027158.0], ['2-pentanone', 2.10, 858204.0],
['2-pentanone', 2.03, 858204.0], ['2-pentanone', 2.037, 858204.0],
['2-pentanone', 1.97, 858204.0], ['pentane, 2,3,3-trimethyl-', 2.84, 1775913.0],
['pentane, 2,3,4-trimethyl-', 2.75, 807020.0]],
[['Chemical Name', 'Average Ret. Time', 'Maximum Area'], ['.alpha.-pinene', 7.00, 8190.0],
['.alpha.-pinene', 8.729, 21582890.0], ['ethyl hexanoate', 9.47, 71863418.0],
['nonanal', 13.93, 10301295.0], ['pentanoic acid, ethyl ester', 5.88, 19659678.0],
['propanoic acid, ethyl ester', 2.30, 8107638.0]]]
ので、リストには、3つのレベルが含まれています:「All_Dataという名前のリストには主に3つのサブリストがあります。各サブリストは、さらなるサブリスト内のデータセットを含む。 3つのメインサブリスト内のサブリストを個別に比較して、2つのサブリストの最初の項目が一致するかどうかを確認したいので、1つのサブリストを削除してそのまま保持したいのですか?
['1-hexanol', 5.10, 2544937.0]
と他の二つを削除します:たとえば、最初のデータ「1ヘキサノール」で3回繰り返され、私はちょうど1サブリストを維持したい
['1-hexanol', 8.69, 3798101.0], ['1-hexanol', 5.54, 2470679.0]
私は、次のコードを試みたが、エラー: "TypeError: 'int'オブジェクトは添字付きではありません。
コード:
for i in All_Data:
for j in range(0, len(i)):
for k in range(1, len(i)):
if i[j[0]] == i[k[0]]:
del i[k[0]]
この上で私を助けてください。
種類よろしく、 アリエラーメッセージがあなたの問題を伝え
はあなたのプロンプトのために多くプルーンをありがとう応答。私は試して、その問題は解決されます。しかし、まだ私は削除されていない重複を取得しています。 私は 'if'ステートメントの後に' del k'と言っていますが、重複は削除しません。 'del I [k]'を使うと、 "IndexError:list index of range"というエラーが出ます。 この範囲機能について少し混乱しています。 この問題は 'range'を使わずに解決できますか? – Hashmi
(1)それは別の質問掲示を必要とする別の問題です。 (2)投稿のガイドラインを読んでください:私たちはカット&ペーストできるコードを投稿する必要があり、問題が再現されます。 *完全な*エラーメッセージを含めてください。 – Prune
私が作ろうとしている点をチェックするだけで、提案したようにコードを変更し、** All_Data **をリストのリストに設定しました。私はあなたが引用したエラーを得ることはありません。あなたが今見ている問題を再現する最小限のコードを別の質問として投稿してください。 – Prune