Python从列表中读取

时间:2013-07-17 21:09:54

标签: python

我对python中的列表以及如何从中进行打印有疑问。以下哪个代码段打印出“单词”列表中的所有7个单词?我已编译并尝试过但我仍然不知道这些片段中哪一个是正确的。

1.
i = 0 
while i < 7: 
    print(words[i], end=" ")
i += 1

2.
i = 0 
while i < 7: 
    print(words[i], end=" ")
    i += 1
3.
i = 1 
while i < 7: 
    print(words[i], end=" ")
    i += 1

4.
i = 0 
sum = "" 
while i < 7: 
    sum += words[i] 
    i += 1 
print(sum)

5.
i = 0 
sum = "" 
while i <= 7: 
    sum += words[i] 
    i += 1 
print(sum)

3 个答案:

答案 0 :(得分:2)

如果您的列表看起来像这样,words = ["a","b","c"..]

您所要做的就是使用for语句

迭代它们
for i in words:
    print i

那应该打印出来的字样:

a
b
c
....

答案 1 :(得分:0)

这不应该像干跑一样难以理解(如果需要,可以使用笔和纸)。 你需要记住,如果words有7个元素,它们就是单词[0] ......单词[6]。即列表索引从0开始

显然你无法运行它们。你是怎么试图运行它们的?出了什么问题?

如果你仍然无法解决问题,那么一个好的策略就是回到与其他答案最相似的答案......答案2 :)

答案 2 :(得分:0)

答案:没有正确的。他们都错了。假设知道应该找到多少单词是出错的原因。

将您找到的单词放入列表中的重点是,您可以将查找结果的责任与打印它们分开。为了解耦他们,人们无法了解另一个。进一步来说;你不在乎列表中有多少,你只需要知道如何打印列表。因此,您只是问“如何打印列表”。

其次,python中没有编译。你试过阅读http://docs.python.org/2/tutorial/吗? 或http://docs.python.org/3/tutorial/

有关正确答案的代码,请参阅@ enginefree的答案。

即使您打算按照索引的方式进行操作,我建议

for i in range(0..MAX_ELEMENTS-1):
    print words[i]

我也强烈反对使用while循环来解决具有明确可知操作边界的问题,例如从操作开始时对集合进行迭代。虽然通常意味着改变条件,不可知的端点以及对自定义增量控制的需求。