有一个有序的dict,它有重复的键、值对。希望使这些重复的值唯一。 例如,4244158和4244159组合存在两次 我想留一个。在
我现在可以把它和下面提到的原版代码进行比较
ordered_parkstop_dict = OrderedDict([('4244162', []),
('4244158', ['4244159']),
('4244159', ['4244158']),
('4244157', ['4244160', '4244161']),
('4244160', ['4244157', '4244161']),
('4244161', ['4244157', '4244160'])])
new_ordered_parkstop_dict = ordered_parkstop_dict.copy()
for key, value in ordered_parkstop_dict.items():
for k,v in ordered_parkstop_dict.items():
klist = []
keylist = []
if value and v:
if len(v)==1 and len(value)==1:
klist.append(k), keylist.append(key)
if (keylist == v) and (klist == value and len(value) == 1):
new_ordered_parkstop_dict.pop(key)
为了澄清,我只想删除类型x -> [y], y -> [x]
的重复项,即带有一个项的列表。在
假设您希望删除一个单个列表项的重复项,您可以调整^{} ^{} recipe 。这个想法是维护一个
set
个项目,frozenset
项,并且只有在遇到一个包含一个项目的列表时才添加到它。在在Python3中,在添加/删除项时,在任何情况下都不应该在视图上进行迭代,比如
dict.items
。在结果:
^{pr2}$相关问题 更多 >
编程相关推荐