python - Python 中的 For(不是 foreach)循环

标签 python

我需要制作一个简单的 python 脚本,但由于我主要使用 PHP/C++,我发现如果没有简单的 for 循环,我很难管理自己。 假设我有一个代码:

for(int i = 0; i < some_string_length; i++)
{
//do something...
}

如您所见,它的数量是我字符串中字母数量的两倍。当然,我可以在 while 循环中执行此操作,但这有一个问题。我必须要么在循环外创建一个变量,使其成为全局变量,要么在循环内创建它,但这个变量的值不能用于循环的参数。

错误:

while(i < some_string_length)
{
i = something; //declaring i for the first time
i++;
}

如您所见,它根本没有意义。那么我该怎么做呢?

最佳答案

来自其他语言的结构

for (int i = start; i < stop; i += step) { … }

直接转换为 Python for 循环 range :

for i in range(start, stop, step):
    …

step默认为1,i++不需要指定。 start 默认为零,因此如果您以 i = 0 开头,您也可以忽略它:

for i in range(stop): # the same as `for (int i = 0; i < stop; i++)`
    …

所以,如果你想在字符串的长度上迭代 i,你可以这样做:

for i in range(len(my_string)):
    …

不过,通常您会想要访问该字符串的字符,因此您可以直接遍历字符:

for char in my_string:
    …

或者,如果你确实也需要索引,你可以使用 enumerate获得两者:

for i, char in enumerate(my_string):
    …

关于python - Python 中的 For(不是 foreach)循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21639973/

相关文章:

python - 需要将数据从文本文件提取到电子表格中进行分析

python - Pandas 数据框与系列的列乘法(索引不匹配)

python - 从列表列表中删除相反的列表

python - 创建很多对象并删除它们

python - 为 jupyter 笔记本启用 python-markdown 扩展时出错

python - 使用 .format() 打印可变字符串和四舍五入的数字

python - 内置函数中的可变默认参数

没有 __dict__ 的 Python 打印属性

python - 如何找到变量列表的索引位置?

python - 稀疏数据集上的谱聚类