我正在运行Python 2.7.3。在Xubuntu上。我的问题是要求解释“for”循环。我正在阅读很多不同的解释,但我仍然不理解为什么for循环的工作方式(特别是在下面的例子中)。 我使用一个简单的代码作为例子。代码对行进行计数。
我已经打开了一个带有电子邮件列表和其他信息的文件(这里是http://www.py4inf.com/code/mbox-short.txt),我对以“From:”开头的部分感兴趣。
for line in fhand:
if line.startswith ("From:"):
print line
我想我明白我可以将此循环翻译为对象“fhand”的每个“part / x / line”执行以下操作:如果行以“From”开头,则打印行
我的困惑在于,我基本上可以输入一个“x”而不是我想要的线或任何东西,它仍然可以正常工作。 for循环如何理解我希望它只计算行数?这里的“可数”部分是什么?我怎么能想象它?基本上我想更深入地了解为什么以下代码可以工作,因为我相信它可以帮助我在将来构建其他类似的代码。
感谢你为解决这个问题付出的努力。
答案 0 :(得分:0)
答案 1 :(得分:0)
fhand是一个数组/列表/集合/文件处理程序/无论可迭代的项目 - 它无关紧要,但它是它们的集合。
如果它是文件处理程序,读取时的文件通常逐行读取,因此for循环的工作原理基于每行。
for循环基本上是“列表中的每个东西”。我认为“线”变量正在抛弃你。这可以命名为任何东西......例如:
for x in fhand:
if x.startswith("From"):
print x
“Line”只是一个变量,它对代码如何工作没有任何影响,它只是一个友好的命名标识符。