如何使用python

时间:2016-06-09 20:58:00

标签: python arrays string for-loop

我相对缺乏经验,来自c#。我试图遍历一个字符串,并使用for循环单独打印出每个字母。

在c#中,这会(如果我没记错的话)写成:

 string x = test;
 foreach(i in x)
 {
  print(x[i]);
 }

但是在python中,当我输入

  x = "test"
  for i in x:
    print(x[i])

python shell告诉我必须是一个整数。

我实际上非常确定我的c#示例中的语法不正确,但是要回答这个问题:

如何使用Python中的for或foreach循环正确迭代字符串?

我一直在网上搜索,不知何故空手而归。对不起,如果这是一个愚蠢的询问。

3 个答案:

答案 0 :(得分:1)

您的变量x是字符串类型,因此,当您键入x[i]时,您将在i位置收到该字母。

然而,在你的循环中,你有不同的东西:

x = "test"
for i in x:
    print(x[i])

此for循环(for i in x)表示:表示字符串x中的每个字母i,请执行以下操作。因此,您的i变量实际上是一个字母,而不是整数。

因此,要打印字符串x的每个字母,只需使用print(i)

x = "test"
for i in x:
    print(i)

但是,如果您确实希望i为整数,而不是for i in x,请使用for i in range(0, len(x))。在这种情况下,您必须使用最初编写的内容(x[i])来访问该字母。

x = "test"
for i in range(0, len(x)):
    print(x[i])

答案 1 :(得分:0)

如果您因某种原因确实需要循环索引,可以使用enumerate

x = 'test'
for i, c in enumerate(x):
    print(i, x[i], c)

答案 2 :(得分:0)

这也让我有点了解,但我想我理解这种误解。 initialDiagnose 1 2010-04-02 2 2009-01-14 3 2005-09-22 4 2010-04-21 5 2010-01-28 6 2009-09-01 7 2005-03-28 8 2005-04-01 9 2005-04-01 10 2010-09-17 11 2010-03-01 中的i已经引用了字符,而不是索引。例如,写

for i in x 与写作相同

stringx='hello world
for i in stringx:
print stringx[i]