我正在处理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脚本中获得这样的输出? 请帮助。
答案 0 :(得分:1)
使用enumerate
和startswith
功能。只有当第一个元素以字符串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
答案 1 :(得分:1)
您可以在列表解析中使用zip
函数:
>>> 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')]