如何去除重复的元素?

clipboard.png
例如上面第一行含有3:19和3:6,怎么写代码,让最后的文件只取碰到的第一个?该例中则选择3:19

阅读 2.7k
2 个回答

因为不知道你那串是字符串还是什么, 所以我这里先按照字符串的方式去实现

l = '0:13 1:9 2:14 3:19 4:12 3:19'
d = {}
result = []
for _ in l.split():
    key = _.split(':')[0]
    if key not in d:
        d[key] = _
        result.append(d[key])

print(result)
print(result)

# 输出
['0:13', '1:9', '2:14', '3:19', '4:12']
from itertools import groupby

str = '0:13 1:9 2:14 3:19 4:12 3:6'
lst = str.split()
lst.sort()

g_lst = [list(g)[0] for k, g in groupby(lst, key=lambda x: x.split(':')[0])]
print g_lst

#['0:13', '1:9', '2:14', '3:19', '4:12']
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题