Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 基于起始字母从字典中删除数据_Python_List_Dictionary_Pycharm - Fatal编程技术网

Python 基于起始字母从字典中删除数据

Python 基于起始字母从字典中删除数据,python,list,dictionary,pycharm,Python,List,Dictionary,Pycharm,我有一个包含4列的数据集,我已经打开、读取并将每列放入一个键/字典中,我正在尝试过滤掉以某个字母开头的任何数据,例如,对于键DA,该键中具有某个起始字母的任何值,例如,e将导致删除该行。如何执行此操作?您可以使用此函数检查字符串是否以某个字母开头。因此,在您的情况下,它可以是如下所示: list_dictionary = [ {'KeyYa': 'abc', 'KeyDa': 'def', 'KeyBa': 'ghi', 'KeySa': 'jkl'}, {'KeyYa': 'a

我有一个包含4列的数据集,我已经打开、读取并将每列放入一个键/字典中,我正在尝试过滤掉以某个字母开头的任何数据,例如,对于键DA,该键中具有某个起始字母的任何值,例如,e将导致删除该行。如何执行此操作?

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

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

嗨,詹姆斯。到目前为止,您尝试了什么代码?