私はクラスラボで作業しています。たとえば、別の辞書であるkeyとvalueという辞書があります。Pythonの辞書フィルタリングするものを取り除く
辞書A:
dict_a = {
1: {
'Engine': 4,
'Speed': 749,
'max_speed': 1140,
'name': 'Ship1',
},
2: {
'Engine': 2,
'Speed': 600,
'max_speed': 900,
'name': 'B777',
},
3: {
'Engine': 4,
'Speed': 1130,
'max_speed': 1200,
'name': 'Air_max',
}
}
私は例えば2つの引数(辞書A、およびフィルタの辞書を)取る関数を記述しようとしています:
filter = {
'Engine' :4,
'name': 'Air_max',
}
この関数を返す必要があります値>またはフィルタと等しい辞書を含むリスト:
これは単なる例に過ぎません。私はちょうどこれを行うヒントのアイデアが必要です。実際、私の辞書Aは非常に大きいです。
これまでのところ、私はこれを持って右見てない:
filtered = {
'Engine': 2,
'Speed': 300,
'Type': 'Electric'
}
result = []
for k, v in full_data.items():
for i, s in v.items():
for a, b in filtered.items():
if v[i] >= filtered[a]:
result.append(v)
filtered_result = []
for each in result:
if each not in filtered_result:
filtered_result.append(each)
filtered_result[:3]
あなたがそれらを反復する必要がある場合は、辞書の目的を破る "辞書"のように見えます。 –
あなたは 'dict'の' list'と 'dict'の' dict'ではなく、キーが基本的にインデックスだけであるように思えます。 –
フィルタリングコードにはどのような問題がありますか?それはまったく動作しませんか?それは遅すぎますか?どのような結果が得られますか? –