简体   繁体   English

在python for循环中获取下一个项目

[英]Getting the next item in a python for loop

I have an HTML object that contains a list if an 'X' is found I want to print the x and the next item in the list: 我有一个HTML对象,其中包含一个列表,如果找到了“ X”,我想打印x和列表中的下一个项目:

for string in tr[30].strings:
      if string == 'X':
              print(string)
              print(string.next())

Getting error: 出现错误:

TypeError: 'NavigableString' object is not callable TypeError:“ NavigableString”对象不可调用

You can use enumerate , example: 您可以使用enumerate ,例如:

strings = tr[30].strings 

for index, string in enumerate(strings):
    if string == 'X':
        print(string)
        print(strings[index + 1])

Try this: 尝试这个:

theIterator = iter(tr[30].strings)

for string in theIterator:
      if string == 'X':
              print(string)
              print(next(theIterator))

But be aware that manipulating the iterator of a running for-loop is not recommend. 但是请注意,不建议对正在运行的for循环进行迭代。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM