import random #要用到随机操作先调用random函数
n = 1
rlist = [] #建立1个空列表
while n <= 20:
num = random.randint(1,50) #生成一个1-50之间的随机整数
rlist = rlist + [num] #把生成的随机整数添加到rlist列表中
n += 1 #迭代
print(rlist) #打印测试
rlist.sort() #对列表进行顺序排序
print(rlist)
##for i in rlist: #对列表中的每一个值进行提取
## m = rlist.count(i) #计算值在列表中出现的次数
## if m > 1: #如果多于1次
## rlist.remove(i) #移除掉该值在列表中的第一个匹配项
##print(rlist) #打印列表
##当有4个或以上重复数字的时候就出错了,会打印出重复数字的。。(待解决)
作者: a974988176 时间: 2018-4-2 10:53
for i in rlist是用迭代器实现,内部隐藏了记录当前迭代器的状态,而remove方法删除了当前元素后,迭代器自动指到下一个元素,原先的rlist在内存中的位置并未改变
可以把
for i in rlist:
改成
for i in rlist[:]:
即可解决作者: 小小艳紫 时间: 2018-4-24 09:57
#keng2
def del_repeat(list):
result = []
lenc = len(list)-1
n = 0
for i in range(n,lenc):
i = n
if list in list[i+1:]:
# print list list.pop(i)
lenc-=1
if i >0:
n =i
if i ==0:
n =0
else:
# print "result:%d" % list result.append(list)
print result
n = i+1
result.append(list[-1])
return result
a = [1,2,3,4,3,5,6,4,1,2,7,7,7,4]
b = [1,2,3,4]
x = del_repeat(a)
print x
y = del_repeat(b)
print y
作者: 小小艳紫 时间: 2018-4-24 09:58
小小艳紫 发表于 2018-4-24 09:57
#keng2
def del_repeat(list):
result = []