如何在 Python 中 迭代 字符串(从字符串中获取每个字符,一次一个,每次通过一个循环)?
原文由 Paradius 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果在遍历字符串时需要访问索引,请使用 enumerate()
:
>>> for i, c in enumerate('test'):
... print i, c
...
0 t
1 e
2 s
3 t
原文由 moinudin 发布,翻译遵循 CC BY-SA 2.5 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
正如约翰内斯所指出的,
您可以使用
for loop
构造在 python 中迭代几乎任何东西,例如,
open("file.txt")
返回一个文件对象(并打开文件),遍历它会遍历该文件中的行如果这看起来像魔术,那么它有点像,但它背后的想法真的很简单。
有一个简单的迭代器协议可以应用于任何类型的对象,以使
for
循环在其上工作。只需实现一个定义
next()
方法的迭代器,并在一个类上实现一个__iter__
方法以使其可迭代。 (__iter__
当然应该返回一个迭代器对象,也就是定义了next()
的对象)见官方文档