发布网友 发布时间:2022-04-25 22:12
共2个回答
热心网友 时间:2022-06-18 00:51
这一段效果和下面这个代码块是一样的。
temp = []
for line in f:
for word in line.split():
temp.append(word)
print len(temp)
我不知道你是在什么地方看到这样的例子的,但你没必要再看了。把简单的东西复杂化一点也不高大上。而且这段代码也实现不了求文本中非空白字符数目的功能。line=' hello'或者'hello '或者'he llo'这三种情况都得不到正确结果。
热心网友 时间:2022-06-18 00:52
第一行,以 'r ' 即读的方式去打开那个.txt文件。
第二行,逐行读的同时,将行分片,然后将分片结果(即非空字符穿)读取装入一个列表,最后求列表的长度。
对于第二行的理解:
不知道你有没有看过类似这样的语句 [element for element in a_list if element.isupper()], 首先我们假设a_list中存储的都是字符串,那么这句的作用就是将a_list中所有的全大写字符串提取到新的list中。如果你见过,那么或许你大致就明白了,两个for的列表表达式其实等价于:
lis = []
for line in f:
for word in line.split():
lis.append(word)
当然用一个列表表达式更好一些。