извлечь строки из списка кортежей - PullRequest
0 голосов
/ 03 ноября 2018

Итак, у меня есть этот список, который является результатом запроса SELECT с SQLite:

test= [(('over1.5',), 109), (('ht1over0.5',), 101), (('hgover0.5',), 78),(('over2.5',), 68), (('agover0.5',), 60)]

Какой лучший способ извлечь значения между кавычками? Я полагаю, что это должно быть сделано с re.findall, но я не могу понять, как написать шаблон поиска.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 03 ноября 2018

Предполагая, что это Python, вы можете использовать понимание списка. Вам нужно будет извлечь первое (единственное) значение первого элемента в каждом tuple:

res = [i[0][0] for i in test]

# ['over1.5', 'ht1over0.5', 'hgover0.5', 'over2.5', 'agover0.5']
0 голосов
/ 03 ноября 2018

Попробуйте этот шаблон регулярных выражений:

\(\('(.*?)',\),\s(\d+)

Он начинается с сопоставления "(('", затем создает Group 1 с любым количеством любых символов (это будет содержать ключ), затем сопоставляет "',)," и, наконец, создает Group 2 с любым количество цифр.

Это даст вам key in Group 1 и value in Group 2.

...