У меня есть список dicts и хотелось бы иметь только уникальные значения на основе определенных ключей.Список словарей, которые должны быть отфильтрованы по определенным значениям
Допустим, у меня есть
data = [{name: "John", age: "20", occupation: "Python pro"}, \
{name: "Jack", age: "80", occupation: "Olympic Athlete"}, \
{name: "John", age: "20", occupation: "Student"}]
Я хотел бы, чтобы уменьшить его на основании ключей «имя» и «возраст», чтобы иметь это выглядеть
[{name: "John", age: "20", occupation: "Python pro"}, \
{name: "Jack", age: "80", occupation: "Olympic Athlete"}]
Я попытался следующие, но Бесполезный «Я осознаю вопиющую проблему, в которой она будет каждый раз добавлять все.
all_drives = drivesInBuilder("object") + drivesInBuilder("account") + drivesInBuilder("container")
reduced_list = [(x["ip address"], x["name"]) for x in all_drives]
unique_list = list(set(reduced_list))
unique_drives = [x for x in all_drives if (x["ip address"], x["name"]) in unique_list]
print(unique_drives)
Почему ваш первый пример совершенно не связан с вашим вторым примером? Очень сложно сказать, какова ваша фактическая проблема/вопрос. Вы не понимаете, почему ваш код не фильтруется правильно? Или вы хотите изменить его для фильтрации по некоторым критериям? Измените свой вопрос, чтобы сделать это более ясным. – Wilduck
@Wilduck Первый пример - упрощенная версия моей реальной проблемы. Вторая часть - это всего лишь пример того, что я пробовал в своей реальной проблеме ... главным образом потому, что люди спрашивают «что вы пробовали?». – OrhanC1
уверен, очевидно. Но вы не объяснили, как они соотносятся друг с другом или, что самое главное, с вашим вопросом. – Wilduck