问题描述
读取列表中的内容,如:abc = ['apple', 'banana']
,将其赋值给一个字符串,打印出来为: 'applebanana'
。也即,字符串拼接问题。
方案实现
在python中有多种方法可以实现字符串拼接,我们这里介绍一种最常见的操作,使用 join() 进行拼接。相关示例代码如下:
abc = ['apple', 'banana']
ls3 = ''.join(abc)
ls3
'applebanana'
这里我们读取文件中的数据,将符合条件的数据存储在列表中,进而对列表中的数据进行拼接。相关代码如下:
# output_file.txt 为测试数据
baidu.com legit 0.15 0.85
taobao.com legit 0.0 1.0
vovo.tech legit 0.0 1.0
ecmychar.live legit 0.05 0.95
magdporch.cc legit 0.0 1.0
baorz.info legit 0.0 1.0
divakovg.top legit 0.0 1.0
sumcotar.tv legit 0.1 0.9
vigupil.cc legit 0.15 0.85
cresguift.biz legit 0.0 1.0
fornpress.top legit 0.0 1.0
choralys.com legit 0.0 1.0
id-vat.biz legit 0.0 1.0
gmc.cc dga 0.95 0.05
kwling.top legit 0.0 1.0
gutdems.tech legit 0.0 1.0
appgahip.top legit 0.05 0.95
awer.club legit 0.0 1.0
imagules.tech legit 0.0 1.0
ieiij.info legit 0.05 0.95
issibly_.club legit 0.0 1.0
nsznc.info legit 0.0 1.0
tentrovi.info legit 0.0 1.0
opmust.cn legit 0.25 0.75
noretion.club legit 0.05 0.95
varvalmes.info legit 0.0 1.0
lalsport.com legit 0.0 1.0
datems.club legit 0.0 1.0
mardns.pro legit 0.0 1.0
irmziund.cc dga 0.8 0.2
with open('output_file.txt') as dgafile:
lines = dgafile.readlines()
dga = [line for line in lines if 'dga' in line] # 这里用到了列表推到,可以防止数据泄露
strDga = ''.join(dga)
print(strDga)
strLegit = ''.join(legit)
执行后的结果:
['gmc.cc\tdga\t0.95\t0.05\n', 'irmziund.cc\tdga\t0.8\t0.2\n']
gmc.cc dga 0.95 0.05
irmziund.cc dga 0.8 0.2
除过这种拼接外,还有其他几种,这里不在罗列,给出参考文档。