我如何在Python中迭代一个字符串(从字符串中获得每个字符,一次一个,每次通过循环)?


当前回答

更简单:

for c in "test":
    print c

其他回答

只是做一个更全面的回答,如果你真的想把一个方钉子塞进一个圆洞里,可以在Python中应用C语言迭代字符串的方式。

i = 0
while i < len(str):
    print str[i]
    i += 1

但话说回来,当字符串本质上是可迭代的时,为什么要这样做呢?

for i in str:
    print i

如果在遍历字符串时需要访问索引,请使用enumerate():

>>> for i, c in enumerate('test'):
...     print i, c
... 
0 t
1 e
2 s
3 t

您还可以执行以下操作:

txt = "Hello World!"
print (*txt, sep='\n')

这并不使用循环,但内部打印语句照顾它。

*将字符串解包到一个列表中并将其发送给print语句

Sep ='\n'将确保下一个字符打印在新行上

输出将是:

H
e
l
l
o
 
W
o
r
l
d
!

如果你确实需要一个循环语句,那么就像其他人提到的,你可以像这样使用for循环:

for x in txt: print (x)

更简单:

for c in "test":
    print c

你还可以做一些有趣的事情通过使用for循环来完成工作

#suppose you have variable name
name = "Mr.Suryaa"
for index in range ( len ( name ) ):
    print ( name[index] ) #just like c and c++ 

答案是

M r。S u y a a

然而,由于range()创建了一个序列值列表,因此您可以直接使用该名称

for e in name:
    print(e)

这也会产生相同的结果,而且看起来更好,适用于任何序列,如列表、元组和字典。

我们已经使用了两个内置函数(Python社区中的bif)

1) range() - range() BIF用于创建索引 例子

for i in range ( 5 ) :
can produce 0 , 1 , 2 , 3 , 4

2) len() - len() BIF用于找出给定字符串的长度