我有一个dict列表什么的一些数据,我想提取某些键:值对在一个新的字典列表中。我知道一种方法是使用del i['unwantedKey']
,但是,我不想删除任何数据,而是用所需的数据创建一个新的dict。在
列顺序可能会改变,所以我需要一些东西来提取这两个键:值对从更大的字典变成新的字典
当前数据格式
[{'Speciality': 'Math', 'Name': 'Matt', 'Location': 'Miami'},
{'Speciality': 'Science', 'Name': 'Ben', 'Location': 'Las Vegas'},
{'Speciality': 'Language Arts', 'Name': 'Sarah', 'Location': 'Washington DC'},
{'Speciality': 'Spanish', 'Name': 'Tom', 'Location': 'Denver'},
{'Speciality': 'Chemistry', 'Name': 'Jim', 'Location': 'Dallas'}]
要删除的代码键:值来自dict
^{pr2}$不使用del i['Speciality']
[{'Name': 'Matt', 'Location': 'Miami'},
{'Name': 'Ben', 'Location': 'Las Vegas'},
{'Name': 'Sarah', 'Location': 'Washington DC'},
{'Name': 'Tom', 'Location': 'Denver'},
{'Name': 'Jim', 'Location': 'Dallas'}]
您可以使用一行代码(Python 2.6+)创建一个新的dict列表,该列表仅限于所需的键:
试试看:
^{2}$因为您使用的是csv,所以您可以将首先读取的列限制为所需的列,这样就不需要删除不需要的数据:
假设我们有
要创建一个新的字典列表,其中不包含关键字“Speciality”,我们可以这样做
^{2}$现在l2将是您期望的输出。一般来说,您可以排除任意键列表,如下所示
对
include_keys
变量也可以这样做如果要提供要复制到新词典中的键的肯定列表:
相关问题 更多 >
编程相关推荐