使用Python迭代字符串中的每个字符

2024-04-24 17:05:08 发布

您现在位置:Python中文网/ 问答频道 /正文

<>在C++中,我可以像这样遍历^ {< CD1> }:

std::string str = "Hello World!";

for (int i = 0; i < str.length(); ++i)
{
    std::cout << str[i] << std::endl;
}

如何在Python中迭代字符串?


Tags: 字符串helloforworldstringlengthintstd
3条回答

更简单:

for c in "test":
    print c

如果在遍历字符串时需要访问索引,请使用^{}

>>> for i, c in enumerate('test'):
...     print i, c
... 
0 t
1 e
2 s
3 t

正如约翰尼斯指出的

for c in "string":
    #do something with c

您可以使用for loop构造在python中迭代几乎任何内容

例如,open("file.txt")返回一个文件对象(并打开该文件),对其进行迭代将对该文件中的行进行迭代

with open(filename) as f:
    for line in f:
        # do something with line

如果这看起来像魔术,那么它是有点,但背后的想法真的很简单。

有一个简单的迭代器协议,可以应用于任何类型的对象,使for循环对其起作用。

只需实现一个定义next()方法的迭代器,并在类上实现一个__iter__方法,使其成为可iterable。(当然,__iter__应该返回一个迭代器对象,即定义next()的对象)

See official documentation

相关问题 更多 >