我通过这样做为我的输出创建了一个数组:
for i in nameList
test_array.append({'Name': i, 'Email': memberMail, 'Department': memberDepartment})
但是,稍后在代码中,我必须删除test_array
中的指定值,具体取决于他们的电子邮件。之后,我可以轻松地打印出我需要的csv文件。
如何从此类词典列表中删除特定条目?
对于那些好奇的人,当我打印数组时,它看起来像这样:
[{'Department': 'Public Works', 'Email': 'joe@xyz.gov', 'Name': 'Joe'}, {'Department': 'Infrastructure', 'Email': 'bob@xyz.gov', 'Name': 'Bob'}, {'Department': 'IT', 'Email': 'suzanne@xyz.gov', 'Name': 'Suzanne'}]
答案 0 :(得分:1)
当您不想修改test_array
filtered_test_array = filter(lambda entry: entry['Email'] != 'email@example.com', test_array)
答案 1 :(得分:0)
试试这个:
for i in range(0,len(nameList)):
if nameList[i]['Email'] == 'abc@pqr.com" :
index = i;
del nameList[index];
答案 2 :(得分:0)
试试这样。
list_ = [{'Department': 'Public Works', 'Email': 'joe@xyz.gov', 'Name': 'Joe'}, {'Department': 'Infrastructure', 'Email': 'bob@xyz.gov', 'Name': 'Bob'}, {'Department': 'IT', 'Email': 'suzanne@xyz.gov', 'Name': 'Suzanne'}]
for val in list_:
if val['Email'] == 'joe@xyz.gov':
list_.remove(val)
结果
[{'Department': 'Infrastructure', 'Email': 'bob@xyz.gov', 'Name': 'Bob'},
{'Department': 'IT', 'Email': 'suzanne@xyz.gov', 'Name': 'Suzanne'}]
答案 3 :(得分:0)
您可以迭代列表并删除唯一值或键。像这样:
for entry in test_array:
if entry['Email'] == 'suzanne@xyz.gov':
test_array.remove(entry)