То, что вы определили выше как L
, представляет собой список отдельных словарей.Я не уверен, что это то, что было задумано.Вы сказали, что ожидаемые выходные данные должны быть 's009'
и 's007'
, поэтому я собираюсь предположить, что, возможно, вы предполагали, что L будет просто списком значений каждого отдельного словаря.В этом случае
L = ["S001", "S002", "S001", "S001", "S001", "S002", "S005", "S005", "S009", "S007"]
Один из самых простых способов подсчитать количество элементов в списке - это использовать Counter
из модуля collections
.
Затем просто создайте Counter
с L
в качестве единственного аргумента
from collections import Counter
c = Counter(L)
print(c)
Counter({'S001': 4, 'S002': 2, 'S005': 2, 'S009': 1, 'S007': 1})
Теперь вы можете увидеть, сколько существует экземпляров каждого элемента L
.Оттуда вы можете просто использовать небольшое понимание списка, чтобы отфильтровать все, что не имеет одного экземпляра.
result = [key for key, value in c.items() if value == 1]
print(result)
['S009', 'S007']
Весь код:
from collections import Counter
L = ["S001", "S002", "S001", "S001", "S001", "S002", "S005", "S005", "S009", "S007"]
c = Counter(L)
result = [key for key, value in c.items() if value == 1]