在遍历文本文件和列表上的迭代期间,我发现了for
循环的意外行为。 文本文件test.txt
只由两个字符串组成:1)He said:
和2)We said:
。 首先for
+ for
环Python不等于'迭代'
file_ = open('c:\\Python27\\test.txt', 'r')
list_ = ['Alpha','Bravo','Charlie']
try:
for string in file_:
for element in list_:
print string, element
except StandardError:
print 'Ooops'
回报绝对预见的结果是:
He said: Alpha
He said: Bravo
He said: Charlie
We said: Alpha
We said: Bravo
We said: Charlie
但是如果for
顺序改变为
file_ = open('c:\\Python27\\test.txt', 'r')
list_ = ['Alpha','Bravo','Charlie']
try:
for element in list_:
for string in file_:
print string, element
except StandardError:
print 'Ooops'
结果是完全不同的:
He said: Alpha
We said: Alpha
看起来像第一个for
变得不可战胜。为什么?
是所有的代码? – Onilol
'lines = file.readlines()'然后只是在'lines'列表中进行迭代。 –
[davidism](http://stackoverflow.com/users/400617/davidism), 感谢您的评论。前期问题非常紧密,但对我而言,它有一点不同。 –