当前位置 :
python中两个for循环的问题比如这个句子怎么理解呢?f=open('hhga.txt','r')len([wordforlineinfforwordinline.split()])这里是在讲怎么求一段文本中非空白字符的数目,然后就举了这样一个例子。在这里
5人问答
问题描述:

python中两个for循环的问题

比如这个句子怎么理解呢?

f=open('hhga.txt','r')

len([wordforlineinfforwordinline.split()])

这里是在讲怎么求一段文本中非空白字符的数目,然后就举了这样一个例子。在这里的两个for到底是怎么在运行的啊

陈旭孟回答:
  这一段效果和下面这个代码块是一样的。   temp = []   for line in f:   for word in line.split():   temp.append(word)   print len(temp)   我不知道你是在什么地方看到这样的例子的,但你没必要再看了。把简单的东西复杂化一点也不高大上。而且这段代码也实现不了求文本中非空白字符数目的功能。line=' hello'或者'hello '或者'he llo'这三种情况都得不到正确结果。
陈敏娜回答:
  就是那本python核心编程里面。。。。我还有个问题就是forlineinf的这个句子得到的line似乎是每一个字符是么?比如f='helloword'这样得到的line是'h','e','l'这样一个一个的字符?我试了一下好像是这样的诶。那这样的话,下面的line,split()怎么继续呢?这里我也不是太明白。。
陈旭孟回答:
  f=open('123.txt')   source=f.readlines()   forlineinsource:   line表示文件中的一行,你编辑文件时每敲一次回车就换一次行,换行字符是'n',   f.readlines()就是把文件对象f中的所有行读取到一个列表里。   比如文件123.txt的内容是:   helloworld!   what'syourname?   thankyou.   那么通过f.readlines()会返回列表['helloworld!n','what'syourname?n','thankyou.n'],列表里的项就是你说的line。   forlineinf:   本身的字面意思就是从一个文件对象(f)里读取每一行(line),写代码的时候要让代码的字面意思和实际作用相符合。如果f='helloworld',那就应该这样写:   forcharacterinf:   表示依次遍历字符串对象的每一个字符(character)。   这样的代码风格叫做codingastalking。
陈敏娜回答:
  我的意思是这样的,就是line在这里面只是我自己命名的一个变量,然后我用   forlineinf:   printline   这样去写,得到的却是一个个字符,每一个字符都换行了。这里我想问的是,系统按照这样去写得到的不应该也一样是一个个字符而不是一行一行的么?
陈旭孟回答:
  你在123.txt添加如下内容:   helloworld!   然后f=open('123.txt'),f是一个文件对象,并不是你认为的f='helloworld!'。首先你要明白这一点。   forlineinf:是对文件对象f进行遍历,每次返回一个以'n'结尾的字符串,也即文件里的一行。   如果你直接对f进行赋值f='helloworld!',那f是一个字符串,对它进行遍历就是依次返回单个字符,跟换行没有任何关系。
最新更新
PC端 | 移动端 | mip端
字典翻译(zidianfy.com)汇总了汉语字典,新华字典,成语字典,组词,词语,在线查字典,中文字典,英汉字典,在线字典,康熙字典等等,是学生查询学习资料的好帮手,是老师教学的好助手。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
电话:  邮箱:
Copyright©2009-2021 字典翻译 zidianfy.com 版权所有 闽ICP备2022014709号-7
lyric 頭條新聞