set是莫子意思
a = open("latex.log","r").readlines()c = set(a)
for i in c:
a.remove(i)
d = set(a)
print("共{}独特行".format(len(c)-len(d)))
a.close()
敢问大佬 这里面的set是什么用的有的发懵了~~ set() 就是将一个可迭代对象转化为集合。 set()就像list(), tuple()一样,就是把一个东西转换成集合的类型 去重 详见:https://www.runoob.com/python/python-func-set.html 打开文件用readlines函数读取返回值是一个列表。
set是将列表a转为集合,列表转集合,就是去掉重复元素,这里也就是去掉重复行 set()的作用就是把传入的各种参数返回成一个集合的函数,因为集合是会把重复元素丢掉的,所以可以理解为剔除掉重复元素。 根据代码判断,集合c包含所有a文件中所有行的内容,并且把重复行去掉了,然后通过for循环把a文件中删掉集合c里面含有的行,剩下的既是重复行传给集合d,集合c的长度(行数)减掉统计重复行的集合d的长度(行数)就是不重复行的行数了,也就是所谓特殊行 就是我也百度到这个的意思了 跟各位说的都差不多 可是我还是没能理解这段代码中set的作用 ,这段代码的意思就是输出文件中有多少独特的行,可是set不就是去除了重复的 无梦想 发表于 2020-5-8 11:10
就是我也百度到这个的意思了 跟各位说的都差不多 可是我还是没能理解这段代码中set的作用 ,这段代码的意思 ...
是啊
独特的行不就是只出现了一次的行 wuqramy 发表于 2020-5-8 11:11
是啊
独特的行不就是只出现了一次的行
那这样的话 下面的代码有什么用 无梦想 发表于 2020-5-8 11:12
那这样的话 下面的代码有什么用
打印结果
然后关闭文件 wuqramy 发表于 2020-5-8 11:13
打印结果
然后关闭文件
那样的话会和这段结果的代码有偏差,所以我就搞不懂 那为什么还要循环清除然后再迭代,然后还要用前面迭代的减去之后迭代的
页:
[1]