gpt4 book ai didi

python - 删除带有条件的列表中的字典

转载 作者:太空宇宙 更新时间:2023-11-04 11:08:30 24 4
gpt4 key购买 nike

我有下面的字典列表,我需要删除具有相同 received_oncustomer_group 值的字典,但随机留下一个项目。

data = [
{
'id': '16e26a4a9f97fa4f',
'received_on': '2019-11-01 11:05:51',
'customer_group': 'Life-time Buyer'
},
{
'id': '16db0dd4a42673e2',
'received_on': '2019-10-09 14:12:29',
'customer_group': 'Lead'
},
{
'id': '16db0dd4199f5897',
'received_on': '2019-10-09 14:12:29',
'customer_group': 'Lead'
}
]

预期输出:

[
{
'id': '16e26a4a9f97fa4f',
'received_on': '2019-11-01 11:05:51',
'customer_group': 'Life-time Buyer'
},
{
'id': '16db0dd4199f5897',
'received_on': '2019-10-09 14:12:29',
'customer_group': 'Lead'

}
]

最佳答案

这是获取第一个唯一日期时间的一种方法,如果你想要随机项目,你可以像 here 中那样先打乱列表。

data = [
{
'id': '16e26a4a9f97fa4f',
'received_on': '2019-11-01 11:05:51',
'customer_group': 'Life-time Buyer'
},
{
'id': '16db0dd4a42673e2',
'received_on': '2019-10-09 14:12:29',
'customer_group': 'Lead'
},
{
'id': '16db0dd4199f5897',
'received_on': '2019-10-09 14:12:29',
'customer_group': 'Lead'
}
]

datetime = set()
result = []
for d in data:
dt = d['received_on']
if dt not in datetime:
result.append(d)
datetime.add(dt)
result

输出:

[{'id': '16e26a4a9f97fa4f',
'received_on': '2019-11-01 11:05:51',
'customer_group': 'Life-time Buyer'},
{'id': '16db0dd4a42673e2',
'received_on': '2019-10-09 14:12:29',
'customer_group': 'Lead'}]

关于python - 删除带有条件的列表中的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58849664/

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