基于启动从字典中删除数据

2024-04-24 05:48:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含4列的数据集,我已经打开、读取并将每列放入一个键/字典,我正在尝试筛选出以某个字母开头的任何数据,例如,对于键DA,该键中具有某个起始字母(例如e)的任何值都将导致该行被删除。我该怎么做呢


Tags: 数据字典字母da
1条回答
网友
1楼 · 发布于 2024-04-24 05:48:26

可以使用^{}函数检查字符串是否以某个字母开头。因此,在您的情况下,它可以是如下所示:

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))

相关问题 更多 >