扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
几种操作方式,效率差不多:
创新互联公司凭借在网站建设、网站推广领域领先的技术能力和多年的行业经验,为客户提供超值的营销型网站建设服务,我们始终认为:好的营销型网站就是好的业务员。我们已成功为企业单位、个人等客户提供了网站设计制作、网站制作服务,以良好的商业信誉,完善的服务及深厚的技术力量处于同行领先地位。
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]: []
这个是列表。如果生成的随机数不在列表中就添加进去。
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))
使用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转换成列表。
先定义一个数组列表:
列表合并也可以用+,但是用+的话,会产生一个新的列表(当然也可以赋值给任何的变量),而extend则只是修改了原来的对象
只读数组,只能查看不能编辑,列表的切片操作同样适于元组。
表达方式:tuple=("元素1","元素2","元素3"),中间同样用,隔开
特殊的元组:tupleZero=()空元组
tupleOne=("元素1",) 只有一个元素,后面要跟一个,(注意好的习惯的养成)
作用:1.对于一些不想被修改的元素,可以放在元组里面
2.元组可以在映射(和集合的成员)中当作键使用,而列表不行
3.元组作为内建函数和方法的返回值
enumerate(列表对象,返回标签起始值(默认为零))
上面的例子可以看出,返回的i是一个元组,如果不想要元组的话,可以用两个参数接收:
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流