如何在python脚本中从一个大字符串中获取特定的字符串值?

2024-10-06 10:34:59 发布

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

我正在编写一个python脚本,我有如下内容:

 ['...','name','anbc','date','20/02/2001','path0', 'd://nk/mkn','path1'   
   'k//lk/jjj','path2','f//udfg/jki','path3','hjk//de/lk']

所以,我想打印以下数据:

   path0 d://nk/mkn
   path1 k//lk/jjj
   path2 f//udfg/jki
   path4 hjk//de/lk

那么,如何在python脚本中获得这样的输出呢? 请帮忙


Tags: name脚本内容delknkpath1path2
2条回答

可以在列表中使用^{}函数:

>>> l=['...','name','anbc','date','20/02/2001','path0', 'd://nk/mkn','path1'   
...    'k//lk/jjj','path2','f//udfg/jki','path3','hjk//de/lk']

>>> [(i,j) for i,j in zip(l,l[1:]) if i.startswith('path')]
[('path0', 'd://nk/mkn'), ('path1k//lk/jjj', 'path2'), ('path2', 'f//udfg/jki'), ('path3', 'hjk//de/lk')]

使用enumeratestartswith函数。只有当第一个元素以字符串path开始时,才会打印元素和下一个元素

>>> l =  ['...','name','anbc','date','20/02/2001','path0', 'd://nk/mkn','path1' ,'k//lk/jjj','path2','f//udfg/jki','path3','hjk//de/lk']
>>> for i,j in enumerate(l):
        if j.startswith('path'):
            print(l[i], l[i+1])


path0 d://nk/mkn
path1 k//lk/jjj
path2 f//udfg/jki
path3 hjk//de/lk
>>> len([i for i in l if i.startswith('path')])
4

相关问题 更多 >