python3字典值重复统计_删除python中字典值的重复项

对不起主题的标题含糊不清,我觉得很难解释.

我有一个字典,其中每个值都是一个项目列表.我希望删除重复的项目,以便每个项目在列表中显示最少时间(最好是一次).

考虑字典:

example_dictionary = {"weapon1":[1,2,3],"weapon2":[2,3],"weapon3":[2,3]}

‘weapon2’和’weapon3’具有相同的值,因此它应该导致:

result_dictionary = {"weapon1":[1],"weapon2":[3],"weapon3":[2]}

因为我不介意订单,它也可能导致:

result_dictionary = {"weapon1":[1],"weapon2":[2],"weapon3":[3]}

但是当“没有选择”时,它应该留下价值.考虑这个新词典:

example_dictionary = {"weapon1":[1,2,3],"weapon2":[2,3],"weapon3":[2,3],"weapon4":[3]}

现在,因为它只能在不将键留空的情况下分配“2”或“3”,所以可能的输出是:

result_dictionary = {"weapon1":[1],"weapon2":[3],"weapon3":[2],"weapon4":[3]}

我可以将问题放到第一部分并进行管理,但我更喜欢将这两个部分放在一起解决

最佳答案

#!/usr/bin/env python3

example_dictionary = {"weapon1":[1,2,3],"weapon2":[2,3],"weapon3":[2,3]}

result = {}

used_values = []

def extract_semi_unique_value(my_list):

for val in my_list:

if val not in used_values:

used_values.append(val)

return val

return my_list[0]

for key, value in example_dictionary.items():

semi_unique_value = extract_semi_unique_value(value)

result[key] = [semi_unique_value]

print(result)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值