如何删除每个词典项目的特定元素?
给出以下示例,我要删除key1
,key2
和key3
中的 2nd 元素。
data{'key1':[value1 ,"abc" ,value3, value4]
'key2':[value1 ,"def" ,value3, value4]
'key3':[value1 ,1 ,value3, value4]}
因此它应该变成:
Input: 2
Output:
data{'key1':[value1,value3,value4]
'key2':[value1,value3,value4]
'key3':[value1,value3,value4]}
答案 0 :(得分:1)
从您的示例中,我猜您的意思是相似的值而不是相似的索引。
如果是这种情况,请查看此答案: Removing Duplicates From Dictionary
请注意,Python的字典“ values()”方法以O(n)运行,因此投票最多的解决方案将具有O(n ^ 2)复杂度,其中n是原始字典中的项数。>
如果这足以满足您的要求,您的代码将类似于
data = {'key1':[1,2,3,4],
'key2':[1,2,3,4],
'key3':[1,2,3,4]}
result = {}
for key,value in data.items():
if value not in result.values():
result[key] = value
最后,“结果”将具有不重复的字典。
答案 1 :(得分:0)
for value in data.values():
del value[index]
?