根据列表元素中的字符将列表元素拆分为子列表



我有一个这样的列表:

['AA/usermanagedmanualreport',
'AccountingDocuments/BPC/COPA/NGAP/Tableau',
'AccountingDocuments/BW',
'AccountingDocuments/DOMS/POS/RFS/SAPBPC/COPA/NGAP/Tableau',
'AccountsPayable/Akritiv']

我正试着把它变成这样:

['AA/usermanagedmanualreport',
'AccountingDocuments/BPC',
'AccountingDocuments/COPA',
'AccountingDocuments/NGAP',
'AccountingDocuments/Tableau',
'AccountingDocuments/BW',
'AccountingDocuments/DOMS',
'AccountingDocuments/POS',
'AccountingDocuments/RFS',
'AccountingDocuments/SAPBPC',
'AccountingDocuments/COPA',
'AccountingDocuments/NGAP',
'AccountingDocuments/Tableau',
'AccountsPayable/Akritiv']

我基本上只需要根据列表中的第一个值和"/"分离器。

尝试过这样的东西,但它并没有达到我想要的效果:

[l.split('/') for l in ','.join(myList).split('|')]

有什么想法吗?

最简单的方法可能是使用循环:

parts = []
for x in myList:
first, *rest = x.split("/")
parts += [first + "/" + part for part in rest]
print(parts)

您可以这样做:

l=['AA/usermanagedmanualreport',
'AccountingDocuments/BPC/COPA/NGAP/Tableau',
'AccountingDocuments/BW',
'AccountingDocuments/DOMS/POS/RFS/SAPBPC/COPA/NGAP/Tableau',
'AccountsPayable/Akritiv']
def div(x):
s=x.split('/')
first=s[0]
rest=s[1:]
return [first+'/'+i for i in rest]
res=[]
for i in l:
if i.count('/')<2:
res.append(i)
else:
res.extend(div(i))
>>>print(res)
['AA/usermanagedmanualreport', 'AccountingDocuments/BPC', 'AccountingDocuments/COPA', 'AccountingDocuments/NGAP', 'AccountingDocuments/Tableau', 'AccountingDocuments/BW', 'AccountingDocuments/DOMS', 'AccountingDocuments/POS', 'AccountingDocuments/RFS', 'AccountingDocuments/SAPBPC', 'AccountingDocuments/COPA', 'AccountingDocuments/NGAP', 'AccountingDocuments/Tableau', 'AccountsPayable/Akritiv']

有趣的一行:

>>> l = ['AA/usermanagedmanualreport',
...      'AccountingDocuments/BPC/COPA/NGAP/Tableau',
...      'AccountingDocuments/BW',
...      'AccountingDocuments/DOMS/POS/RFS/SAPBPC/COPA/NGAP/Tableau',
...      'AccountsPayable/Akritiv']
>>> result = [f'{a}/{x}' for a, *b in (item.split('/') for item in l) for x in b]
>>> print(*result, sep='n')
AA/usermanagedmanualreport
AccountingDocuments/BPC
AccountingDocuments/COPA
AccountingDocuments/NGAP
AccountingDocuments/Tableau
AccountingDocuments/BW
AccountingDocuments/DOMS
AccountingDocuments/POS
AccountingDocuments/RFS
AccountingDocuments/SAPBPC
AccountingDocuments/COPA
AccountingDocuments/NGAP
AccountingDocuments/Tableau
AccountsPayable/Akritiv

最新更新