リストから条件に一致するデータだけ新しくリストにする書き方がわかりません。
以下のリストがあります。
q = [ { "id": 1, "fruits": "apple", "cd": [1,2,3] }, { "id": 2, "fruits": "banana", "cd": [1] }, { "id": 3, "fruits": "grape", "cd": [2,3] } ]
入力されたリストの値が cd のリストに含まれていることを条件にして出力内容を変更したいです。
input = [1] のときの出力内容
r = [ { "id": 1, "fruits": "apple", "cd": [1,2,3] }, { "id": 2, "fruits": "banana", "cd": [1] } ]
input = [1,3] のときの出力内容
r = [ { "id": 1, "fruits": "apple", "cd": [1,2,3] } ]
input = [2,3] のときの出力内容
r = [ { "id": 1, "fruits": "apple", "cd": [1,2,3] }, { "id": 3, "fruits": "grape", "cd": [2,3] } ]
作成したコード
r = [] input = [2,3] # input = [2,3]の場合 for item in q: if input[0] in item["cd"] and input[1] in item["cd"]: r.append(item) print(r)
inputの条件の個数に対して動的に書くことができていません。要素の個数に関係なく出力する書き方を教えていただきたいです。
回答3件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/01/15 05:56