【发布时间】:2016-01-11 16:41:43
【问题描述】:
在对文本文件和列表进行迭代期间,我发现了for 循环的意外行为。
文本文件 test.txt 仅包含两个字符串:1) He said: 和 2) We said:。
先for+for循环
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 变得可以合并了。为什么?
【问题讨论】:
-
是所有代码吗?
-
lines = file.readlines()然后对lines列表进行迭代。