在python中向列表中插入字符

2024-09-27 02:25:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,在需要插入的每个空格之后都有;这样我就可以在以后的代码中根据自己的要求将列表分开。我尝试过split()和join方法,但发现只对字符串有效,所以我如何插入;而不是空格

 ['48998.tyrone-cluster       gic1_nwgs        mbupi           18:45:44 R qp32           \n', 
'48999.tyrone-cluster       gic2_nwgs        mbupi                  0 Q batch          \n',  
'49005.tyrone-cluster       ...01R-1849-01_2 mcbkss          00:44:23 R qp32           \n',
'49032.tyrone-cluster       gaussian_top.sh  chemraja               0 Q qp32           \n', 
'49047.tyrone-cluster       jet_egrid        asevelt         312:33:0 R qp128          \n'] 

输出必须是这样的

['48998.tyrone-cluster;gic1_nwgs;mbupi;18:45:44;R;qp32', 
'48999.tyrone-cluster;gic2_nwgs;mbupi;0;Q;batch',  
'49005.tyrone-cluster;...01R-1849-01_2;mcbkss;00:44:23;R;qp32',
'49032.tyrone-cluster;gaussian_top.sh;chemraja;0;Q;qp32', 
'49047.tyrone-cluster;jet_egrid;asevelt;312:33:0;R;qp128']

Tags: 列表topshbatchgaussiancluster空格tyrone
3条回答

试试这个

import re
out_list = []
for word in in_list:
  out_list.append(re.sub(' +',' ',word).replace(' \n','').replace(' ',';'))
print "Result",out_list

split在空白处,然后使用;重新加入:

l[:] = [";".join(line.split())for line in l]
print(l)

['48998.tyrone-cluster;gic1_nwgs;mbupi;18:45:44;R;qp32', '48999.tyrone-cluster;gic2_nwgs;mbupi;0;Q;batch', '49005.tyrone-cluster;...01R-1849-01_2;mcbkss;00:44:23;R;qp32', '49032.tyrone-cluster;gaussian_top.sh;chemraja;0;Q;qp32', '49047.tyrone-cluster;jet_egrid;asevelt;312:33:0;R;qp128']

或者使用enumerate和for循环:

for ind, line in enumerate(l):
    l[ind] = ";".join(line.split())
print(l)

这两种方法都将更新原始列表。你知道吗

在空白处用.split()拆分,并使用';'作为分隔符进行联接:

>>> transformed = [ ';'.join(item.split()) for item in original ]
>>> pprint(transformed)
['48998.tyrone-cluster;gic1_nwgs;mbupi;18:45:44;R;qp32',
 '48999.tyrone-cluster;gic2_nwgs;mbupi;0;Q;batch',
 '49005.tyrone-cluster;...01R-1849-01_2;mcbkss;00:44:23;R;qp32',
 '49032.tyrone-cluster;gaussian_top.sh;chemraja;0;Q;qp32',
 '49047.tyrone-cluster;jet_egrid;asevelt;312:33:0;R;qp128']

相关问题 更多 >

    热门问题