1

この質問は何十回も聞かれているようですが、どれも役に立たなかったので、もう一度質問します (私を嫌いにならないでください!)。私はリストの2つのリストを持っています:

amm = [['0005FC66DF', '4403'", ',\n'], [" ['0001C52E02', '4406'", ',\n'],etc] 

data = [['07/11/2012', '09:53:36', 'Thing', '#0F', '0006E7895B', 'T', 'U\n'], ['05/13/2012', '09:54:27', 'Thing', '#0F', '0006E3DADA', 'T', 'U\n'], etc]. 

data のリストの 5 番目の要素が amm のリストの最初の要素と同じかどうかを確認したいのですが、そうであれば、data のリストをリストの新しいリスト amv に書き込みたいと考えています。私はすべてを試しました。私はから始めました

for i in data:
  if data[i][4] in amm:
    amv[i].append(i)

amvには何も書き込まなかったので、試しました

amv=[item for item in data if item[4] in[items for items in amm]]

同じ問題があったので、試しました

   for i in data:
    for j in amm:
        if i[4] == j[0]:
             amv.append(j)

そして、これらのテーマに関する 100 万の (おそらくもう少し正確な) バリエーション。これはとても簡単なことですが、私にとってはうまくいきません。どんな助けでも大歓迎です。前もって感謝します!

編集申し訳ありませんが、これはあまり明確ではありませんでした。私がやろうとしているのは、5 番目の要素が amm に表示されるデータ内のすべてのリストを含む新しいリスト (amv) を作成することです。私が示したすべてのスクリプトは、新しいリスト amv に何も追加していません。amv は常に空のままで、その理由がわかりません..

4

1 に答える 1

1
s = set(x[0] for x in amm)
amv = [x for x in data if x[4] in s]
于 2012-06-28T15:28:03.753 に答える