在python3中range是一个生成器,而不是一个列表.这意味着以下代码不需要过多的内存:
for i in range(start_pos, len(my_string)):
print(my_string[i])
Run Code Online (Sandbox Code Playgroud)
如果您宁愿使用迭代器,my_string那么您需要自己编写:
def iter_starting_at(start_pos, string):
for i in range(start_pos, len(string)):
yield string[i]
for character in iter_starting_at(start_pos, my_string):
print(character)
Run Code Online (Sandbox Code Playgroud)