擅长:python、mysql、java
<p>这里有一种方法,使用enumerate并将列表的下一个元素(如果他等于“#”)连接到当前元素</p>
<pre><code>lst1 = ['*PF4', 'PF6', '#', 'PF2', '\PWD(5D)','PWD(30)']
lst2 = ['*PF4#', 'PF2', '\PWD(89)','PWD(31)']
lst3 = ['*PF4', 'PF6', '#', 'PF2', '\PWD(89)','PWD(31)']
def lst_pars(lst):
new_lst = []
for e, i in enumerate(lst):
if i == '#':
continue
if e + 1 < len(lst) and lst[e + 1] == '#':
i = i + lst[e + 1]
if (i.startswith("*") and i.endswith("#")) or i.startswith("*") or i.endswith("#"):
new_lst.append(i)
return new_lst
new_lst1 = lst_pars(lst1)
new_lst2 = lst_pars(lst2)
new_lst3 = lst_pars(lst3)
</code></pre>
<p>输出:</p>
<pre><code>['*PF4', 'PF6#']
['*PF4#']
['*PF4', 'PF6#']
</code></pre>