gpt4 book ai didi

python - 如何从字典列表中过滤掉具有重复键和不同值的元素?

转载 作者:行者123 更新时间:2023-11-30 22:41:56 27 4
gpt4 key购买 nike

我有一个重复dict列表。我想过滤掉每个dict的一些元素。我可以通过循环遍历整个列表并选择所需的元素来完成此操作,如下面的示例所示。然而,这似乎不是一个有效的方法。在内存使用和速度方面,实现预期结果(如下输出)的最佳方法是什么?

listOfDic = [
{'firstElement': 'a', 'secondElement': '1', 'thirdElement': 'i'}
, {'firstElement': 'b', 'secondElement': '2', 'thirdElement': 'ii'}
, {'firstElement': 'c', 'secondElement': '3', 'thirdElement': 'iii'}
]
filteredListOfDic = []

# looping through old list, selecting first and third element
# and using those elements for building a new "filtered" list of dict
for row in listOfDic:
filteredListOfDic.append({
'firstElement': row['firstElement']
, 'thirdElement': row['thirdElement']
})

print filteredListOfDic

结果是:

[{'thirdElement': 'i', 'firstElement': 'a'}
, {'thirdElement': 'ii', 'firstElement': 'b'}
, {'thirdElement': 'iii', 'firstElement': 'c'}]

最佳答案

我想一个简单的 del 就足以从每个字典中删除元素,而不是复制所需的元素。

for l in listOfDic:
del l["secondElement"]

>>> print listOfDic
>>> [{'thirdElement': 'i', 'firstElement': 'a'}, {'thirdElement': 'ii', 'firstElement': 'b'}, {'thirdElement': 'iii', 'firstElement': 'c'}]

关于python - 如何从字典列表中过滤掉具有重复键和不同值的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42318698/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com