zoukankan      html  css  js  c++  java
  • 【Python】学习笔记十四:循环进阶

    range()

    在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标。

    我们继续开发range的功能,以实现下标对循环的控制:

    s = 'abcdefghj'
    for i in range(0,len(s),3):
        print(i,s[i])
    

    在该例子中,我们利用len()函数和range()函数,用i作为S序列的下标来控制循环。在range函数中,分别定义上限,下限和每次循环的步长。这就和C语言中的for循环相类似了。

    enumerate()

    利用enumerate()函数,可以在每次循环中同时得到下标和元素:

    s = 'abcdefghj'
    for (seq,char) in enumerate(s):
        print(seq)
        print(char)

    实际上,enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予seq和char

    zip()

    如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()方便地实现:

    temp_a = (1,2,3)
    temp_b = ['a',2,3]
    temp_c = (1,'oliver',3)
    for (a,b,c) in zip(temp_a,temp_b,temp_c):
        print(a,b,c)

    每次循环时,从各个序列分别从左到右取出一个元素,合并成一个tuple,然后tuple的元素赋予给a,b,c

    屏幕打印结果如下:

    image

  • 相关阅读:
    【18焦作网络赛 J】 大数开方
    最小圆覆盖
    高斯消元
    回文自动机 PAM
    后缀自动机 SAM
    后缀数组 SA
    左偏树(可并堆)
    动态树LCT(Link-Cut-Tree)
    职场自我推销10大金点子
    数据库笔记
  • 原文地址:https://www.cnblogs.com/OliverQin/p/7683053.html
Copyright © 2011-2022 走看看