从值从字典列表的另一列中删除项目

时间:2019-11-10 13:28:42

标签: python dictionary

假设我有一个字典列表。每个字典包含一个密钥from和另一个名为to的密钥。现在,我要这样做:在from键的第二个及以下外观中,to键的值不同于与此{{1 }}键,该字典应从列表中删除。

示例:

to

将成为这个:

from

2 个答案:

答案 0 :(得分:3)

这会有所帮助。

list_dict = [ {'from': '67f', 'to': 'f9b'}, {'from': '67f', 'to': 'f9b'}, 
              {'from': '67f', 'to': 'f9b'}, {'from': 'f9b', 'to': '67f'}, 
              {'from': 'f9b', 'to': '21g'}]
not_wanted_to_keys = []
wanted_list_dict = []
for my_dict in list_dict:
    not_wanted_to_keys.append(my_dict['from'])
    if my_dict['to'] not in not_wanted_to_keys:
        wanted_list_dict.append(my_dict)
print(wanted_list_dict)

答案 1 :(得分:1)

您可以尝试以下操作:

data = [ {'from': '67f', 'to': 'f9b'},
 {'from': '67f', 'to': 'f9b'},
 {'from': '67f', 'to': 'f9b'},
 {'from': 'f9b', 'to': '67f'},
 {'from': 'f9b', 'to': '21g'} ]

final_data = []

for i in range(len(data)):
  if(i == 0 or data[i]['to'] != data[i-1]['from']):
    final_data.append(data[i])

print(final_data)

查看数据并检查除第一个项目以外的所有项目的条件。