【发布时间】:2020-11-04 16:10:09
【问题描述】:
def remove_repeated_lines(data):
lines_seen = set() # holds lines already seen
d=[]
for t in data:
if t not in lines_seen: # check if line is not duplicate
d.append(t)
lines_seen.add(t)
return d
a=[{'name': 'paul', 'age': '26.', 'hometown': 'AU', 'gender': 'male'},
{'name': 'mei', 'age': '26.', 'hometown': 'NY', 'gender': 'female'},
{'name': 'smith', 'age': '16.', 'hometown': 'NY', 'gender': 'male'},
{'name': 'raj', 'age': '13.', 'hometown': 'IND', 'gender': 'male'}]
age=[]
for line in a:
for key,value in line.items():
if key == 'age':
age.append(remove_repeated_lines(value.replace('.','___')))
print(age)
输出是
[['2', '6', '___'], ['2', '6', '___'], ['1', '6', '___'], ['1', '3', '___']]
我想要的输出是['26___','16___','13___']
这是我从字典值中删除重复行的代码。运行代码后,重复的行没有被删除。
【问题讨论】:
-
发布列表内容
-
@bigbounty 我已经发布了我的代码的详细信息
-
期望的输出应该有一个下划线还是三个?如果他们只应该有一个,那么为什么首先用三个下划线而不是一个替换句点呢?
标签: python dictionary duplicates