所以我有这个列表,它是使用SQLite的SELECT请求的结果:
test = [(('over1.5',), 109),
(('ht1over0.5',), 101),
(('hgover0.5',), 78),
(('over2.5',), 68),
(('agover0.5',), 60)]
如何从每个元组中提取第一个项目,以便预期输出为:
['over1.5', 'ht1over0.5', 'hgover0.5', 'over2.5', 'agover0.5']
我想这必须用re.findall
来完成,但我不知道如何编写搜索模式。
假设这是Python,则可以使用列表理解。您需要提取每个tuple
:中第一个元素的第一个(唯一(值
res = [i[0][0] for i in test]
# ['over1.5', 'ht1over0.5', 'hgover0.5', 'over2.5', 'agover0.5']
试试这个正则表达式模式:
(('(.*?)',),s(d+)
它首先匹配"(('
",然后创建一个Group 1
,其中包含任意数量的任意字符(这将包含密钥(,然后匹配"',),
",最后创建一个具有任意数字的Group 2
。
这将为您提供key in Group 1
和value in Group 2
。