0

我有这个代码:

for i in words:
    print i

那个报告'你好'字3次。为什么如果:

for i in words:
    print i[0]

报告是 3 次是“h”字而不是 1 次是“你好”字?我应该报告一次“你好”。

4

2 回答 2

2

以下是您的代码功能的说明:

for i in words:
    print i

1. 将列表中的每个元素words作为i
2. 打印这个元素

for i in words:
    print i[0]

1. 取列表的每个元素wordsi
2. 打印第一个元素i(恰好是字符串,所以打印第一个字母)

要使您的代码hello仅打印一次,您应该执行类似print words[0]打印列表的第一个元素的操作words

于 2013-09-08T14:30:17.083 回答
0

您正在寻找的是words[0]

print words[0]

对 Python 字符串进行索引可为您提供单个字符:

>>> 'hello'[0]
'h'

但您似乎正在寻找索引words列表:

>>> ['hello', 'hello', 'hello'][0]
'hello'

循环执行后者,依次for绑定每个元素,words让循环打印它。i如果只需要打印一个元素,直接使用print即可,不要使用循环。

于 2013-09-08T14:29:06.433 回答