所以我有这个列表,它是对SQLite的SELECT请求的结果:
test= [(('over1.5',), 109), (('ht1over0.5',), 101), (('hgover0.5',), 78),(('over2.5',), 68), (('agover0.5',), 60)]
提取引号之间的值的最佳方法是什么? 我想它必须用re.findall完成,但我不知道如何编写搜索模式。
谢谢。
答案 0 :(得分:1)
假设这是Python,则可以使用列表推导。您将需要提取每个tuple
中第一个元素的第一个(唯一)值:
res = [i[0][0] for i in test]
# ['over1.5', 'ht1over0.5', 'hgover0.5', 'over2.5', 'agover0.5']
答案 1 :(得分:0)
尝试以下正则表达式模式:
\(\('(.*?)',\),\s(\d+)
首先匹配“ (('
”,然后创建一个Group 1
,并包含任意数量的任意字符(将包含密钥),然后匹配“ ',),
”,最后创建Group 2
,可以是任意数字。
这将为您提供key in Group 1
和value in Group 2
。