我有一个列表lst = [1,1,1,2,2,2,2,3,3,3,3,3,4,4,4,4,4,4,4,4,4]
我期待以下输出:
out = [1,"","",2,"","","",3,"","","","",4,"","","","","","","",""]
我要保留该项的第一个匹配项,并用空字符串替换同一项的所有其他匹配项。你知道吗
我尝试了以下方法。你知道吗
`def splrep(lst):
from collections import Counter
C = Counter(lst)
flst = [ [k,]*v for k,v in C.items()]
nl = []
for i in flst:
nl1 = []
for j,k in enumerate(i):
nl1.append(j)
nl.append(nl1)
ng = list(zip(flst, nl))
for i,j in ng:
j.pop(0)
for i,j in ng:
for k in j:
i[k] = ''
final = [i for [i,j] in ng]
fin = [i for j in final for i in j]
return fin`
但我正在寻找一些更简单或更好的方法。你知道吗
尝试以下更简单的功能:
按如下方式使用:
使用简单的迭代
例如:
输出:
使用^{} ,非常适合连续分组重复的值。你知道吗
如果列表值不连续,可以先对其排序。你知道吗
相关问题 更多 >
编程相关推荐