私は2つのリストを持っている:リスト間の違いを調べる方法は?
first_list = [('A', 'Name A'), ('B', 'Name B'), ('C', 'Other Name')]
second_list = [('A', 'Name A'), ('B', 'Name B'), ('C', 'Name C'), ('D', 'Name D')]
私はそのようなリストが欲しい:third_list = [('D', 'Name D')]
私が使用:third_list = list(set(second_list)^set(first_list))
をしかし、それは私を返す:third_list = [('C', 'Name C'), ('D', 'Name D')]
。
私は、タプルの最初の項目が異なるところをリストしたいと思います。 ('C', 'Other Name')
と('C', 'Name C')
が同じである必要があります。なぜなら、タプルの最初の項目が同じであるからです。
'ジップ(* first_list)[0]'きれいです最初のリストに '[x [0] for x 'を書くための明白でない方法です。より短く効率的なバージョンは 'dict(first_list)'でしょう。 – 9000
提案をありがとう - 更新されました。 –
first_listにあるがsecond_listにないアイテムも返す必要があると思いますか? –