十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这个是列表。如果生成的随机数不在列表中就添加进去。
创新互联建站服务项目包括大通网站建设、大通网站制作、大通网页制作以及大通网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,大通网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到大通省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
import random
def union(number):
array=[]
for i in range(number):
while True:
tmp = random.randrange(1,100)
if tmp not in array:
array.append(tmp)
break
return array
print (union(10))
几种操作方式,效率差不多:
In [4]: %timeit l=range(10000);l=[];
10000 loops, best of 3: 115 �0�8s per loop
In [5]: %timeit l=range(10000);del l[:]
10000 loops, best of 3: 107 �0�8s per loop
In [6]: %timeit l=range(10000);l=None;
10000 loops, best of 3: 114 �0�8s per loop
所以从性能上来看,这几种删除方式都可以。
从功能上来讲,有一点区别:
1. l=[]和l=None是给l赋一个新的值,不影响原来数组的内容
In [1]: l=range(5)
In [2]: l2=l
In [3]: l2=None
In [4]: l
Out[4]: [0, 1, 2, 3, 4]
2. del l[:]则是删除了原数组的所有元素
In [5]: l2=l
In [6]: del l2[:]
In [7]: l
Out[7]: []
使用filter来实现,以python3为例,如果删除列表中的所有0,则可使用下面代码实现:
a = [1,2,0,3,4,0,5,0,6]
b = filter(lambda x: x != 0, a)
list(b)
效果如下:
注:如果使用python2则直接输出b即可,在python3中filter返回结果为可迭代的对象,需使用list转换成列表。