問題

在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
 

如果這看起來像魔法,它有點像,但背後的想法真的很簡單.

有一個簡單的迭代器協議可以應用於任何型別的物件,使for迴圈在它上工作。

簡單地實現定義next()方法的迭代器,並在類上實現__iter__方法以使其可迭代. (當然,__iter__應返回迭代器物件,即定義next()的物件)

見官方檔案

  相同標籤的其他問題

pythonstringiteration