当前位置:   article > 正文

for循环中gets_Python中for循环的一些非常规操作

循环中gets不等待

310dc676d80b7179a889fdc9bf6e12ad.png

For循环是Python中最常用的一种循环结构了,相信大家都对For循环的常规操作非常熟悉了,所以在这里我就不介绍For循环的基本用法了,仅介绍一些非常规的操作供大家参考学习。

1. 非穷尽遍历(遍历过程中跳过元素)--range()和分片

  1. >>> a = [1, 2, 3, 4, 5, 6]
  2. # 若想访问a中的第奇数个元素
  3. # Method 1: range()
  4. >>> for i in range(0, len(a), 2):
  5. print(a[i], end=' ')
  6. 1 3 5
  7. # Method 2: 分片
  8. >>> for i in a[::2]:
  9. print(i, end=' ')
  10. 1 3 5

显然第二种分片的方法要简单得多,推荐大家使用。

2. 并行遍历 --Zip

zip()函数可以让我们利用for循环并行访问多个序列:zip()函数的输入参数为一个或多个序列,它的返回值是这些序列并排的元素配对得到的元组列表

  1. >>> a = [1, 2, 3, 4]
  2. >>> b = ['a', 'b', 'c', 'd']
  3. >>> list(zip(a, b))
  4. [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
  5. >>> for (x, y) in zip(a, b):
  6. ... print(x, y)
  7. 1 a
  8. 2 b
  9. 3 c
  10. 4 d

注意:zip()函数返回的元组长度以输入的各序列中最短的为准。

  1. >>> a = [1, 2, 3, 4]
  2. >>> b = ['a', 'b', 'c', 'd', 'e', 'f']
  3. >>> list(zip(a, b))
  4. [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]

3. enumerate()同时给出偏移量和元素

enumerate()函数会返回一个生成器对象,这个对象可以在循环的每次迭代返回一个(index, value)的元素,因此可以同时得到偏移量和元素:

  1. >>> a = ['a', 'b', 'c', 'd', 'e']
  2. >>> for ind,item in enumerate(a):
  3. ... print('index:{}, item:{}'.format(ind, item))
  4. index:0, item:a
  5. index:1, item:b
  6. index:2, item:c
  7. index:3, item:d
  8. index:4, item:e
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/123079
推荐阅读
相关标签
  

闽ICP备14008679号