簡體   English   中英

字典中的唯一列表值

[英]Unique lists values in dictionary

我正在嘗試在字典值中具有唯一列表。 我已經實現了使用此唯一性列表列表

我的疑問是如何將數據寫回到字典中。 到目前為止,這是我所做的:

  final_dict = {'SELECT: AutoSelect DF2F': [['D80', 'FoldersDF2FAutoSelect'], ['DF90', 'FoldersDF2FAutoSelect'], ['DF80', 'FoldersDF2FAutoSelect'], ['DF90', 'PB:FoldersDF2FAutoSelect']], 'SELECT: TB70001': [['DF80', 'FolderSelected'], ['DF90', 'PB:FolderSelected'], ['DF80', 'FolderSelected'], ['DF90', 'FolderSelected']]}
    for v in final_dict.values():
        unique_data = [list(x) for x in set(tuple(x) for x in v)]

如果您看我的詞典中有這么多重復的列表,則是一個值。 我消除了重復項。 現在,我該如何將其轉換回dict?

使用簡單的迭代

例如:

final_dict = {'SELECT: AutoSelect DF2F': [['D80', 'FoldersDF2FAutoSelect'], ['DF90', 'FoldersDF2FAutoSelect'], ['DF80', 'FoldersDF2FAutoSelect'], ['DF90', 'PB:FoldersDF2FAutoSelect']], 'SELECT: TB70001': [['DF80', 'FolderSelected'], ['DF90', 'PB:FolderSelected'], ['DF80', 'FolderSelected'], ['DF90', 'FolderSelected']]}
for k, v in final_dict.items():
    final_dict[k] = [list(x) for x in set(tuple(x) for x in v)]
pprint(final_dict)

輸出:

{'SELECT: AutoSelect DF2F': [['DF90', 'FoldersDF2FAutoSelect'],
                             ['D80', 'FoldersDF2FAutoSelect'],
                             ['DF90', 'PB:FoldersDF2FAutoSelect'],
                             ['DF80', 'FoldersDF2FAutoSelect']],
 'SELECT: TB70001': [['DF90', 'PB:FolderSelected'],
                     ['DF80', 'FolderSelected'],
                     ['DF90', 'FolderSelected']]}

在for循環中,您unique_data了,跟蹤鍵k ,並在該鍵的那個字典中保存unique_data

final_dict = {'SELECT: AutoSelect DF2F': [['D80', 'FoldersDF2FAutoSelect'], ['DF90', 'FoldersDF2FAutoSelect'], ['DF80', 'FoldersDF2FAutoSelect'], ['DF90', 'PB:FoldersDF2FAutoSelect']], 'SELECT: TB70001': [['DF80', 'FolderSelected'], ['DF90', 'PB:FolderSelected'], ['DF80', 'FolderSelected'], ['DF90', 'FolderSelected']]}
for k,v in final_dict:
    unique_data = [list(x) for x in set(tuple(x) for x in v)]
    final_dict[k] = unique_data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM