私信  •  关注

RomanPerekhrest

RomanPerekhrest 最近创建的主题
RomanPerekhrest 最近回复了

使用单词边界锚 \b 和非空白字符 \S :

words = re.findall(r'\bT\S+T\b', passage)

这也将允许匹配以下单词: Trust-TesT , Tough&FasT

5 年前
回复了 RomanPerekhrest 创建的主题 » python-嵌套列表结构中的聚合数据

优化的方法(由复合dict键提供支持 (<skill name>, <column name>) dict.get 方法):

header = ['names']
names = set()
d = {}

for lst in in_data:
    col_name = lst[0][-1]
    header.append(col_name)
    for name, val in lst[1:]:
        names.add(name)
        d[name, col_name] = val

res = [[n, *[d.get((n, h), '-') for h in header[1:]]] for n in names]
res.insert(0, header)
print(res)

输出:

[['names', 'name_1', 'name_2', 'name_3'],
 ['item_C', '3', '-', '7'],
 ['item_D', '4', '-', '-'],
 ['item_B', '2', '5', '6'],
 ['item_A', '-', '2', '-']]