TLM37V68支持腾讯视频投电视功能能不

python中两个for循环的问题比如这个句子怎么理解呢?f=open('hhga.txt','r')len([word for line in f for word in line.split()])这里是在讲怎么求一段文本中非空白字符的数目,然后就举了这样一个例子。在这里的两个for到底是怎么在运行的啊
这一段效果和下面这个代码块是一样的。temp&=&[]for&line&in&f:&&&&for&word&in&line.split():&&&&&&&&temp.append(word)print&len(temp)我不知道你是在什么地方看到这样的例子的,但你没必要再看了。把简单的东西复杂化一点也不高大上。而且这段代码也实现不了求文本中非空白字符数目的功能。line='&hello'或者'hello&'或者'he&llo'这三种情况都得不到正确结果。
就是那本python核心编程里面。。。。我还有个问题就是for line in f的这个句子得到的line似乎是每一个字符是么?比如f='hello word'这样得到的line是'h','e','l'这样一个一个的字符?我试了一下好像是这样的诶。那这样的话,下面的line,split()怎么继续呢?这里我也不是太明白。。
f= open('123.txt')source = f.readlines()for line in source:line表示文件中的一行,你编辑文件时每敲一次回车就换一次行,换行字符是'\n',f.readlines()就是把文件对象f中的所有行读取到一个列表里。比如文件123.txt的内容是:hello world!what's your name?thank you.那么通过f.readlines()会返回列表['hello world!\n', 'what's your name?\n', 'thank you.\n'],列表里的项就是你说的line。for line in f: 本身的字面意思就是从一个文件对象(f)里读取每一行(line),写代码的时候要让代码的字面意思和实际作用相符合。如果f='hello world',那就应该这样写:for character in f:表示依次遍历字符串对象的每一个字符(character)。这样的代码风格叫做coding as talking。
我的意思是这样的,就是line在这里面只是我自己命名的一个变量,然后我用for line in f:
print line这样去写,得到的却是一个个字符,每一个字符都换行了。这里我想问的是,系统按照这样去写得到的不应该也一样是一个个字符而不是一行一行的么?
你在123.txt添加如下内容:hello world!然后f = open('123.txt'),f是一个文件对象,并不是你认为的f = 'hello world!'。首先你要明白这一点。for line in f: 是对文件对象f进行遍历,每次返回一个以'\n'结尾的字符串,也即文件里的一行。如果你直接对f进行赋值f='hello world!',那f是一个字符串,对它进行遍历就是依次返回单个字符,跟换行没有任何关系。
为您推荐:
第一行,以 'r ' 即读的方式去打开那个.txt文件。第二行,逐行读的同时,将行分片,然后将分片结果(即非空字符穿)读取装入一个列表,最后求列表的长度。对于第二行的理解:不知道你有没有看过类似这样的语句 [element for element in a_list if element.isupper()], 首先我们假设a_list中存储的都是字符串,那么这句的作...
扫描下载二维码

我要回帖

更多关于 三星电视有投屏功能吗 的文章

 

随机推荐