私はPythonが初めてで、Googleで解決できない問題に直面しています。wxPython と ObjectiveListView を使用して GUI を作成しました。GUI の中心には、データを X 行 (データはユーザーがロード) および 5 列で表示するリスト コントロールがあります。
ユーザーがリスト コントロールから複数のエントリを選択すると (CTRL または Shift キーを押しながらクリック)、ObjectiveListView モジュールは辞書のリストを表示します。辞書には、リスト コントロールの行のデータが含まれています。これはまさに私が欲しいものです。
返されるリストは次のようになります。
print MyList
[{'id':1023, 'type':'Purchase', 'date':'23.8.2008', 'sum':'-21,90', 'target':'Apple Store'}, {'id':1024, 'type':'Purchase', 'date':'24.8.2008', 'sum':'-21,90', 'target':'Apple Store'}, {'id':23, 'type':'Purchase', 'date':'2.8.2008', 'sum':'-21,90', 'target':'Apple Store'}]
すべての辞書は同じキーを持ちますが、値は変わります。「id」値は一意です。ここで問題が始まります。ユーザーが選択したすべてのアイテムの共通値を取得したい。上記のリストでは、'sum':'-21,90' および 'target':'Apple Store' になります。
リスト内の辞書を適切に比較する方法がわかりません。大きな問題の 1 つは、リストに含まれる dict の数がユーザーによって決定されるため、事前にわからないことです。
リスト内包表記の方がよいという漠然とした考えがありますが、n個のリストではなく、2つのリストをリスト内包表記で比較する方法しか知りません。どんな助けでも大歓迎です。