如何从列表字典中选择唯一元素

时间:2017-12-19 15:07:34

标签: python dictionary

我有一个列表字典,我需要通过删除列表中的元素来从列表中选择唯一元素,如果它重复第2次,第3次等等,并且仅在第一次保留时保留。 我的数据:

dicti={'a':['video@vermont.org'.,'nr@context'],
'b':['vermont@vermont.org','nr@id'],
'c':['nr@context''vermont@vermont.org']}

我试过的代码

checker=list()
for key in emails:
    for emailid in emails[key]:
        if emailid in checker:
            del(emailid)
        else:
            checker.append(emailid)

2 个答案:

答案 0 :(得分:1)

保持原始代码的精神:

checker=set()
for key in emails:
    value = list()
    for emailid in emails[key]:
       if emailid not in checker:
           checker.add(emailid)
           value.append(emailid)
    emails[key] = value

答案 1 :(得分:1)

而不是删除为什么不从数据中获取所需内容?

dicti={'a':['video@vermont.org','nr@context'],
'b':['vermont@vermont.org','nr@id'],
'c':['nr@context','vermont@vermont.org']}

track=[]
for key,value in dicti.items():
    for item in value:
        if item not in track:
            track.append(item)
print(track)

输出:

['vermont@vermont.org', 'nr@id', 'nr@context', 'video@vermont.org']