列是一个大约有10000个值的数组,其中也包括重复的值。我想要一个数组darray
,它应该只包含不同的值而不重复。我试着用这个密码。但是darray
的长度显示为0。break语句有一些问题。使用break时,我想从内部两个循环中走出来,但不是第三个循环。帮帮我
darray=[]
m=0
for d in range(0,length):
f=0
for r in range(d,length):
if f==1:
break
for l in range(0,m):
if column[r] == darray[l]:
f=1
break
elif column[d] == column[r]:
darray.append(column[d])
m+=1
f=1
break
lent = len(darray)
print lent;
如果结果数组中的排序不相关,则可以使用集合:
(或者
list(set(column))
如果您需要结果实际上是一个列表)否则,可以使用集合作为辅助数据结构,以快速查看新数组是否已经有元素
这两个都是O(n logn),与原始解的O(n^2)(或更糟)相比
相关问题 更多 >
编程相关推荐