Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用于if比较_Python_Iteration - Fatal编程技术网

Python 用于if比较

Python 用于if比较,python,iteration,Python,Iteration,我是python新手,在理解它应该如何工作时遇到了一些困难 假设我有这样一个for循环: for row in rows if row["Title"] == List[row] do something 给我一个错误,列表标记必须是整数 如果我在每一行中循环,如何将当前行表示为索引 使用内置函数枚举 for i, row in enumerate(rows): 使用内置函数枚举 for i, row in enumerate(rows): 您可以枚举()它:

我是python新手,在理解它应该如何工作时遇到了一些困难

假设我有这样一个for循环:

for row in rows
    if row["Title"] == List[row] 
         do something
给我一个错误,
列表标记必须是整数


如果我在每一行中循环,如何将当前行表示为索引

使用内置函数
枚举

for i, row in enumerate(rows):

使用内置函数
枚举

for i, row in enumerate(rows):
您可以
枚举()
它:

for index, row in enumerate(rows):
  if row['Title'] == List[index]:
    # Do something
您可以
枚举()
它:

for index, row in enumerate(rows):
  if row['Title'] == List[index]:
    # Do something

有一些重要的事情你应该理解,根据你目前提供的代码示例,你可能做错了

  • 您正在尝试使用行中的元素作为索引。如果你预料到的话 要成为一个整数,您可能需要转换它(即,如果它是一个字符串) 比如“1”)

  • 除了第1点之外,您还为两种不同的事情使用了两次row。另一个看起来像是一本字典。您可能正在更高范围内覆盖另一个行变量。请参阅底部的示例,因为我在要点中似乎无法很好地格式化

  • 如果下面的代码
    #Do Something
    操纵行,这可能会导致灾难性的后果。例如,下面的代码是一个无限循环

    对于列表1中的元素: 列表1.append(元素-5)

    相反,您应该使用,它使用切片表示法为迭代生成list1的副本,并且您可以修改未迭代的副本:

    对于列表1[:]中的元素: 列表1.append(元素-5)

  • 您正在基于索引访问不同的列表,而不是对其进行迭代。你可以很容易地得到一个索引器做这件事。如果您想迭代两个列表,可以这样做,或者使用等效的方法。这样您是安全的,但您确实需要确保列表的长度相同

    对于元素1、元素2,在zip中(列表1、列表2): 通过

  • 其他人告诉你使用枚举。。。不看你的代码,这确实回答了你的问题,但它只是一个普通的Python习语。下面是它的工作原理

    help(enumerate)
    Help on class enumerate in module __builtin__:
    
    class enumerate(object)
     |  enumerate(iterable[, start]) -> iterator for index, value of iterable
     |  
     |  Return an enumerate object.  iterable must be another object that supports
     |  iteration.  The enumerate object yields pairs containing a count (from
     |  start, which defaults to zero) and a value yielded by the iterable argument.
     |  enumerate is useful for obtaining an indexed list:
     |      (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
    
    我相信你可以想象其他实现同样目标的方法

    上文第2点的例子

    In [71]: list1
    Out[71]: [1, 2, 3, 4, 5, -4, -3, -2, -1, 0]
    
    In [72]: x = 5
    
    In [73]: for x in list1:
        ...:     pass
    
    In [74]: x
    Out[74]: 0
    

    有一些重要的事情你应该理解,根据你目前提供的代码示例,你可能做错了

  • 您正在尝试使用行中的元素作为索引。如果你预料到的话 要成为一个整数,您可能需要转换它(即,如果它是一个字符串) 比如“1”)

  • 除了第1点之外,您还为两种不同的事情使用了两次row。另一个看起来像是一本字典。您可能正在更高范围内覆盖另一个行变量。请参阅底部的示例,因为我在要点中似乎无法很好地格式化

  • 如果下面的代码
    #Do Something
    操纵行,这可能会导致灾难性的后果。例如,下面的代码是一个无限循环

    对于列表1中的元素: 列表1.append(元素-5)

    相反,您应该使用,它使用切片表示法为迭代生成list1的副本,并且您可以修改未迭代的副本:

    对于列表1[:]中的元素: 列表1.append(元素-5)

  • 您正在基于索引访问不同的列表,而不是对其进行迭代。你可以很容易地得到一个索引器做这件事。如果您想迭代两个列表,可以这样做,或者使用等效的方法。这样您是安全的,但您确实需要确保列表的长度相同

    对于元素1、元素2,在zip中(列表1、列表2): 通过

  • 其他人告诉你使用枚举。。。不看你的代码,这确实回答了你的问题,但它只是一个普通的Python习语。下面是它的工作原理

    help(enumerate)
    Help on class enumerate in module __builtin__:
    
    class enumerate(object)
     |  enumerate(iterable[, start]) -> iterator for index, value of iterable
     |  
     |  Return an enumerate object.  iterable must be another object that supports
     |  iteration.  The enumerate object yields pairs containing a count (from
     |  start, which defaults to zero) and a value yielded by the iterable argument.
     |  enumerate is useful for obtaining an indexed list:
     |      (0, seq[0]), (1, seq[1]), (2, seq[2]), ...
    
    我相信你可以想象其他实现同样目标的方法

    上文第2点的例子

    In [71]: list1
    Out[71]: [1, 2, 3, 4, 5, -4, -3, -2, -1, 0]
    
    In [72]: x = 5
    
    In [73]: for x in list1:
        ...:     pass
    
    In [74]: x
    Out[74]: 0
    

    行是如何构造的?行是如何构造的?@Dave你很受欢迎,补充了另一个我在那些深夜眼睛紧张的例子中错过的问题:)。享受吧@“戴夫,不客气,”他补充道,“我在那些深夜眼睛紧闭的例子中错过了另一个妙招:)。享受