Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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 如何跳过循环中的数据?_Python_Python 2.7_Loops_For Loop - Fatal编程技术网

Python 如何跳过循环中的数据?

Python 如何跳过循环中的数据?,python,python-2.7,loops,for-loop,Python,Python 2.7,Loops,For Loop,我有一个问题,跳过一些数据,如果条件存在 我的循环的输出: None 2 of 61 None None None 2 of 1,976 2 of 52 2 of 56 2 of 231 2 of 59 None 2 of 250 2 of 138 2 of 367 None 2 of 221 2 of 372 None 2 of 90 None 2 of 208 但我希望我的循环只打印一行中的第一个None,比如:None、61中的2个、None、1976年的2个等等:) 我怎样才能做到?我

我有一个问题,跳过一些数据,如果条件存在

我的循环的输出:

None
2 of 61
None
None
None
2 of 1,976
2 of 52
2 of 56
2 of 231
2 of 59
None
2 of 250
2 of 138
2 of 367
None
2 of 221
2 of 372
None
2 of 90
None
2 of 208
但我希望我的循环只打印一行中的第一个None,比如:
None、61中的2个、None、1976年的2个等等:)

我怎样才能做到?我尝试了一些带有计数器标志的东西,但它仍然打印所有“无”值


您可能需要使用
继续

if your condition that you want to skip:
    continue
 else:
     normal operation

您可能需要使用
继续

if your condition that you want to skip:
    continue
 else:
     normal operation

此解决方案使用一个标志,每当找到(并打印)第一个
None
元素时,需要将该标志设置为
True
,以便跳过任何后续的
None
元素。非
None
元素将重置标志,因此循环可以重复。根据需要进行调整

您可以在以下服务器上运行它:


此解决方案使用一个标志,每当找到(并打印)第一个
None
元素时,需要将该标志设置为
True
,以便跳过任何后续的
None
元素。非
None
元素将重置标志,因此循环可以重复。根据需要进行调整

您可以在以下服务器上运行它:


如果您只想在
None
之后阻止
None
,只需检查上一项:

prev = 'anything but None'
for item in data:
    if item is None and prev is None:
        continue
    print(item)
    prev = item

如果您只想在
None
之后阻止
None
,只需检查上一项:

prev = 'anything but None'
for item in data:
    if item is None and prev is None:
        continue
    print(item)
    prev = item

您还可以使用“count”变量来确定是否已经打印了“None”,并且在继续之前只打印它遇到的第一个变量

如果这确实满足了您的要求,那么应该可以为您节省一些代码。不使用您的变量,也不一定是最具python风格的,但它的作用如下:

  • 计数从设置为0开始
  • 对列表运行for循环:“注释中的注释”
  • 检查“注释”是否为“无”,计数是否小于1
  • 这将打印第一个None并向上迭代计数
  • 然后检查下一个不是“无”的项目并打印它。继续这样做,直到它击中另一个“无”
  • 冲洗/重复:)

    count=0
    评论中的评论:
    如果注释==无且计数<1:
    打印(评论)
    计数=1
    elif评论!=无:
    打印(评论)
    计数=0
    

您还可以使用“count”变量来确定是否已打印“None”,并在继续之前只打印遇到的第一个

如果这确实满足了您的要求,那么应该可以为您节省一些代码。不使用您的变量,也不一定是最具python风格的,但它的作用如下:

  • 计数从设置为0开始
  • 对列表运行for循环:“注释中的注释”
  • 检查“注释”是否为“无”,计数是否小于1
  • 这将打印第一个None并向上迭代计数
  • 然后检查下一个不是“无”的项目并打印它。继续这样做,直到它击中另一个“无”
  • 冲洗/重复:)

    count=0
    评论中的评论:
    如果注释==无且计数<1:
    打印(评论)
    计数=1
    elif评论!=无:
    打印(评论)
    计数=0
    

请原谅,但我无法说出你的要求。请你澄清一下好吗?原谅我,但我不能说出你的要求。你能澄清一下吗?我更新了我的代码,但它仍然不起作用:(我更新了我的代码,但它仍然不起作用:(
count = 0
for comment in comments:
    if comment == None and count < 1:
        print(comment)
        count = 1
    elif comment != None:
        print(comment)
        count = 0