gpt4 book ai didi

python - 为什么Python中函数中的for循环只迭代字符串中的一个字母?

转载 作者:行者123 更新时间:2023-12-01 04:20:06 32 4
gpt4 key购买 nike

每次运行带有 for 循环的函数时,for 循环仅迭代第一个字符。示例

def tin(v):            
for x in v:
return x
print tin("hello")

在这种情况下,它将是第一个字母

最佳答案

因为您使用的是return,所以它只返回第一个结果,即“h”

尝试使用 yield 返回一个生成器,或者将每个字母保存到一个列表中,以便您可以迭代它来执行您想要的任何操作。

使用产量:

def tin(v):            
for x in v:
yield x

for letter in tin("hello"):
print letter

在函数内使用列表:

def tin(v):
letters = list()
for x in v:
letters.append(x)
return letters

for letter in tin("hello"):
print letter

使用列表理解:

def tin(v):
return [letter for letter in v]

for letter in tin("hello"):
print letter

这些示例的输出是相同的:

h
e
l
l
o

关于python - 为什么Python中函数中的for循环只迭代字符串中的一个字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849193/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com