当每个项也封装在另一个元组中时,如何从元组列表中获取第一个项



所以我有这个列表,它是使用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 1value in Group 2

最新更新