【问题标题】:What does for item in list loop represent?列表循环中的 for item 代表什么?
【发布时间】:2014-12-25 03:26:19
【问题描述】:

在 for 循环 for item in lists 中,item 是否像 for i in range() 循环一样代表当前索引?

【问题讨论】:

    标签: python python-2.7 for-loop


    【解决方案1】:

    引自official documentation

    Python 中的for 语句与您在 C 或 Pascal 中可能使用的语句有些不同。 Python 的 for 语句不是总是迭代数字的算术级数(如在 Pascal 中),或者让用户能够定义迭代步骤和停止条件(如 C),Python 的 for 语句迭代任何序列的项目(一个列表或一个字符串),按照它们在序列中出现的顺序。例如(没有双关语):

    >>> # Measure some strings:
    ... words = ['cat', 'window', 'defenestrate']
    >>> for w in words:
    ...     print w, len(w)
    ...
    cat 3
    window 6
    defenestrate 12
    

    在您的情况下,当您使用range 时,item 代表range 返回的数字列表中的各个项目。

    【讨论】:

      【解决方案2】:

      使用语法for a in b...,a 总是分配给b 中的每个项目。因此,for i in range(x) 中的i 仅分配给range(x) 生成的列表中的每个项目。

      >>> for i in range(5):
      ...     print i
      ... 
      0
      1
      2
      3
      4
      >>> range(5) 
      [0, 1, 2, 3, 4]
      >>> for item in [0, 1, 2, 3, 4]:
      ...     print item
      ... 
      0
      1
      2
      3
      4
      >>> 
      

      因此,item 代表列表中的每一项。

      【讨论】:

      • 所以for item in list item 代表列表中的每个项目,而for i in range i 代表索引?这是否使i in range 有资格被修改(例如list[i] += 1),而for item in list? 是不可能的
      • 不,在for i in range 中,i 表示由range(x) 生成的列表 中的每个项目。
      【解决方案3】:

      英文就像for every item in list。其他一些语言使用for each 来显示这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-04
        • 2018-12-18
        • 2012-07-13
        • 1970-01-01
        • 2016-09-04
        • 2013-04-26
        • 1970-01-01
        相关资源
        最近更新 更多