在C++中,我可以像这样迭代std::string
个:
std::string str = "Hello World!";
for (int i = 0; i < str.length(); ++i)
{
std::cout << str[i] << std::endl;
}
如何在Python中迭代字符串?
在C++中,我可以像这样迭代std::string
个:
std::string str = "Hello World!";
for (int i = 0; i < str.length(); ++i)
{
std::cout << str[i] << std::endl;
}
如何在Python中迭代字符串?
正如约翰所指出的,
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
如果这看起来像魔术,那么它有点像,但它背后的 idea 非常简单.
有一个简单的迭代器协议,可以应用于任何类型的对象以使for
循环在其上工作.
只需实现一个迭代器,定义一个next()
方法,并在一个类上实现一个__iter__
方法,使其可移植.(当然,__iter__
应该返回一个迭代器对象,即定义next()
的对象)