我有这段代码:
for i in words:
print i
报告“hello”字3次。 为什么:
for i in words:
print i[0]
报告是'h'字3次而不是'hello'字1次?我应该一次报告'你好'。
答案 0 :(得分:2)
以下是您的代码所做的解释:
for i in words:
print i
1。将列表words
中的每个元素都设为i
2.打印此元素
for i in words:
print i[0]
1。将列表words
中的每个元素都设为i
2.打印i
的第一个元素(恰好是一个字符串,因此打印出第一个字母)
只有在您应该执行hello
之类的操作时才打印代码print words[0]
,这将打印列表的第一个元素words
答案 1 :(得分:0)
您正在寻找words[0]
:
print words[0]
Python字符串索引为您提供了单独的字符:
>>> 'hello'[0]
'h'
但您似乎希望将words
列表编入索引:
>>> ['hello', 'hello', 'hello'][0]
'hello'
for
循环执行后者,依次将words
中的每个元素绑定到i
,让您的循环打印出来。如果您只需要打印一个元素,只需直接使用print
而不是使用循环。