问:python 文件内容操作,如一个文件100万条数据,查询相同行数
- 答:使用open函数逐行读取文件,依次对比,如包含要求字符串,则数量累加1,读取完成后可统计出行数,代码如下:
n = 0
for line in open('filename','r'):
if '固定字符串' in line:
n += 1
print(n)
说明:
使用 for line in open这种方式可以提高代码效率,如需要更复杂统计,例如重复行,则可以使用hash函数,把行hash值存入列表,再做统计。 - 答:100万条,还是不是很大。建议用C语言。把100万条加载到内存里,然后字符串依次比较,也是很快的。具体是先read到内存里,然后把每个回车统计一下,建立一个行首字符的索引。
正常的做法是做索引的。在生成记录时,自动将关键词索引造出来。查询时,只查询索引就可以了。
这样,即使是几千万条记录,查询也是很快。1,2,3就是一个关键词。 - 答:文件过大,考虑数据库。当作字符处理很占内存的。
1、str.count
2、你可以用sqlite来加载这个文件。用select的方式去查总数 - 答:CONDSTR = '1,2,3'
def match(ln, condstr=CONDSTR):
''' 指定的串是否在行中 '''
return condstr in ln
cnt = 0
with open(thesrcfile, 'rt') as handle:
for ln in handle:
if match(ln):
cnt += 1
问:python如何去除重复行并分别统计重复的行数?已有去除重复的代码
- 答:这个可以自己做,不是很复杂
问:python代码查重原理
- 答:a=['python',1,2,3,1,6,'a','a',3,3,3,'a','python','3','8']
b=list(set(a))
cf=[]
for i in b:
cf.append(a.count(b))
for i in range(len(b)):
print(b[i],'一共有',cf[i],'个',sep='')
问:用python怎么实现,找出一个字符串中的重复字符子串和字符串数量?
- 答:代码如下:
【备注】:
1. 用str.split(',')只能分隔逗号一种;如果涉及到多重分隔的话就需要使用re.split(',|:')。
2. 原字符串以逗号分隔的,后面有一个或多个字符串,所以re.split(', | ')。
3. 执行re.split(r', | ', S)操作之后,列表中会产生大量的'',就需要将filter过滤掉。
4. 使用L.count(x) == 1 或者 L.count(x) > 1来保留重复项或,非重复项。
5. set(L)则是保留列表中的唯一项,再用list()将其转换为列表。
6. 使用', '.join(L),将列表拼接成我们想要的字符串。
问:有没有人能帮忙对代码进行查重
- 答:试一下antiplag,,能对程序语言(如java、c/c++、python等)、中英文文档进行查重。
- 答:代码查重? 这个真的是第一次听到,你的意思是论文里包含代码,需要查重吗,可以通过 试一下,把代码粘贴进去就行