在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()的对象)

See official documentation

Python相关问答推荐

PyTorch卷积自动编码器,输出维度与输入不同

如何编写一个正规表达式来查找序列中具有2个或更多相同辅音的所有单词

从 struct 类型创建MultiPolygon对象,并使用Polars列出[list[f64]列

了解shuffle在NP.random.Generator.choice()中的作用

如何在矩阵上并行化简单循环?

收件箱转换错误- polars.exceptions. ComputeHelp- pandera(0.19.0b3)带有polars

使用Python Cerberus初始化一个循环数据 struct (例如树)(v1.3.5)

使用多个性能指标执行循环特征消除

在matplotlib动画gif中更改配色方案

如何使用stride_tricks.as_strided逆转NumPy数组

在Python中为变量的缺失值创建虚拟值

通过仅导入pandas来在for循环中进行多情节

剧作家Python没有得到回应

重新匹配{ }中包含的文本,其中文本可能包含{{var}

为什么带有dropna=False的groupby会阻止后续的MultiIndex.dropna()工作?

在Wayland上使用setCellWidget时,try 编辑QTable Widget中的单元格时,PyQt 6崩溃

将pandas Dataframe转换为3D numpy矩阵

无法定位元素错误404

如何在给定的条件下使numpy数组的计算速度最快?

Python—压缩叶 map html作为邮箱附件并通过sendgrid发送