Skip to main content
 首页 » 编程设计

Python 不等于 'for' 迭代

2025年05月04日33zhujiabin

<分区>

在对文本文件和列表进行迭代期间,我发现了 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 变得可联合。为什么?