2024-04-25 03:59:24 发布
网友
我对python很陌生,所以我的问题是:
我有这样一个清单:
L = ['Name1', 'String1', 'String2', 'String3', 'Name2', 'String4', 'String5', 'String6', ...]
我想把它转换成一个新列表,其中某个“name”后面的所有字符串都在一个子列表中,其名称如下:
最好的办法是什么?在
假设有一个函数isname()告诉我们list L的一个元素是否为名称:
Lsub = [] L2 = [] for e in L: if isname(e): if Lsub: L2.append(Lsub) Lsub = [e] else: Lsub.append(e) L2.append(Lsub)
也许不是最具Python的,但是:
import re L = ['Name1', 'String1', 'String2', 'String3', 'Name2', 'String4', 'String5', 'String6'] l_temp = re.split(r'(Name\d+)', ' '.join(L)) new_L = [[item] + l_temp[i+1].strip().split(' ') for i, item in enumerate(l_temp) if item.startswith('Name')] print new_L
"Flat is better than nested", but "simple is better than complex" and "readability counts",所以。。。在
假设有一个函数isname()告诉我们list L的一个元素是否为名称:
也许不是最具Python的,但是:
"Flat is better than nested", but "simple is better than complex" and "readability counts",所以。。。在
相关问题 更多 >
编程相关推荐