如何找到重复值并合并它们? – Python

如何找到重复值并合并它们? – Python,第1张

概述所以基本上你有一个列表如下: l = ['a','b','a','b','c','c'] 输出应该是: [['a','a'],['b','b'],['c','c']] 所以基本上将重复的值放在一个列表中, 我试过了: l = ['a','b','a','b','c','c']it=iter(sorted(l))next(it)new_l=[]for i in sorted(l): n 所以基本上你有一个列表如下:

l = ['a','b','a','c','c']

输出应该是:

[['a','a'],['b','b'],['c','c']]

所以基本上将重复的值放在一个列表中,

我试过了:

l = ['a','c']it=iter(sorted(l))next(it)new_l=[]for i in sorted(l):   new_l.append([])   if next(it,None)==i:      new_l[-1].append(i)   else:      new_l.append([])

但是不起作用,如果它确实有效,它就不会有效率

解决方法 对列表排序然后使用itertools.groupby:

>>> from itertools import groupby>>> l = ['a','c']>>> [List(g) for _,g in groupby(sorted(l))][['a','c']]

编辑:这可能不是最快的方法,排序是平均情况的O(n log n)时间复杂度,并非所有解决方案都需要(参见注释)

总结

以上是内存溢出为你收集整理的如何找到重复值并合并它们? – Python全部内容,希望文章能够帮你解决如何找到重复值并合并它们? – Python所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1194399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存