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

  • 问题:
  • 在C++中,我可以迭代一个<代码> STD::String >:

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

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

    如何在Python中迭代字符串?在

  • 答案:
  • 正如Johannes指出的

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

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

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

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

    如果这看起来像是魔术,其实有点像,但背后的想法其实很简单。在

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

    只需实现一个迭代器,该迭代器定义一个next()方法,并在一个类上实现一个iter\uu方法,使其可编辑。(当然,iter应该返回iterator对象,即定义next()的对象)

    See official documentation