Вы можете использовать функцию startswith
, чтобы проверить, начинается ли строка с определенной буквы.Так что в вашем случае это может быть что-то вроде следующего:
list_dictionary = [
{'KeyYa': 'abc', 'KeyDa': 'def', 'KeyBa': 'ghi', 'KeySa': 'jkl'},
{'KeyYa': 'abc', 'KeyDa': 'Edef', 'KeyBa': 'ghi', 'KeySa': 'jkl'},
{'KeyYa': 'abc', 'KeyDa': 'Gdef', 'KeyBa': 'ghi', 'KeySa': 'jkl'},
{'KeyYa': 'abc', 'KeyDa': 'Edef', 'KeyBa': 'ghi', 'KeySa': 'jkl'}
]
filtered = []
for line_dict in list_dictionary:
if not line_dict['KeyDa'].startswith('E'):
filtered.append(line_dict)
print(filtered)
Это печатает:
[{'KeyDa': 'def', 'KeyYa': 'abc', 'KeyBa': 'ghi', 'KeySa': 'jkl'}, {'KeyDa': 'Gdef', 'KeyYa': 'abc', 'KeyBa': 'ghi', 'KeySa': 'jkl'}]
Если вам удобны функции filter
и lambda
,Вы также можете сделать это кратко, как это:
filtered = list(filter(lambda line: not line['KeyDa'].startswith('E'), list_dictionary))