高级特性

切片:

取list和tuple的部分元素
L=[‘tian’,’song’,’tao’,’bob’,’jack’]

一般为[L[0],L[1],L[2]]取前3个元素。或者是循环取出

这种经常取指定索引范围的操作,可以用切片操作:

  L[0:3] -----0开始到3为止,不包括3

  L[-2]--从反方向同样可以取,从-1开始不包括-2

  L[10:20] 前11-20个数

  L[1:10:2]前1--10每过两个取一个

  L[::5]所有数每5个取一个,

迭代:

python中通过for…in来完成迭代,在python中很多其它数据类型没有

  下标,但只要是可迭代对象,无论有没有下标,都科技迭代,eg dict

迭代之前看是否能够迭代,可以用collections模块的iterable类型判断
eg: from collections import Iterable
isinstance(‘abc’,Iterable)——true
isinstance(123,Iterable)——false

列表生成式:List Comprehensions是python内置的用来创建list的生成式

list[1,2,3,4,5,6,7,8,9,10]可以用list(range(1,11))

但如果[1*1,2*2,3*3]—–[x*x for x in range(1,11)]

 for循环后面还可以加上if判断,这样就可以筛选

   eg:[x*x for x in range(1,11) if x%2==0]

还可以使用两层循环,可以生成全排列:
[m+n for m in ‘ABC’ for n in ‘XYZ’]
[‘AX’,’AY’,’AZ’,,,,,’CX’,’CY’,”CZ”]

生成器:内存限制,不能创建的列表过多,

这里可以按照算法把后续元素推算出来,一边循环一边计算产生即生成器generator
l=[x*x for in range(10)]
g=(x*x for in range(10))

l和g区别只是最外层()[] l是一个list,g是一个生成器

eg:next(g)=0

 next(g)=1  next(g)=4  每次调用next(g)都会计算下一个数;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值