1

おそらく本当に単純なことですが、私はそれでいくつかの本当の問題を抱えています。次のようなリストがあります。

[[1, 2500],[3,4319],[8,3292],[3,34590]]

ここで、ネストされた各リストの最初の値は何らかのスコアで、2 番目の値はスコアが対応するユーザー ID です。

2 番目のリストのすべてのユーザー ID を削除するために、リストに対していくつかの簡単な計算を実行しようとしています。ただし、ネストされた各リストの 2 番目の要素だけをアドレス指定できないことがわかりました。

newlist = list(set(oldlist[][1]) - set(to_be_removed))

かっこでクリエイティブになりすぎているのでしょうか、それとも非常に単純なものが欠けているだけなのでしょうか?

4

2 に答える 2

2

ここでは、リスト内包表記を使用するのが最も簡単な解決策です。

new_list = [x for x in old_list if x[1] not in to_be_removed]
于 2012-06-19T20:12:42.410 に答える
1

このようなもの?

old_list = [[1, 2500],[3,4319],[8,3292],[3,34590]]
removals = set([2500, 34590])
new_list = [[x, y] for x, y in old_list if y not in removals]
于 2012-06-19T20:14:31.080 に答える