Преобразовать список строк в нестроковый список - PullRequest
1 голос
/ 14 апреля 2019

В Python я хочу преобразовать все строки в списке в нестроковые.

Так что, если у меня есть:

results =  ["['new','york','intrepid', 'bumbling']","['duo', 'deliver', 'good', 'one']"]

Как мне сделать это:

 results =  [['new','york','intrepid', 'bumbling'],['duo', 'deliver', 'good', 'one']]

Ответы [ 2 ]

2 голосов
/ 14 апреля 2019

Как насчет eval, если вам не нужно проверять правильность введенных переменных:

results = [eval(x) for x in results]
1 голос
/ 14 апреля 2019

Использование literal_eval() из ast намного безопаснее, чем eval():

import ast

results =  ["['new','york','intrepid', 'bumbling']","['duo', 'deliver', 'good', 'one']"]
results_parsed = [ast.literal_eval(x) for x in results]
print(results_parsed)

Вывод:

[['new', 'york', 'intrepid', 'bumbling'], ['duo', 'deliver', 'good', 'one']]

ast.literal_eval() только анализстроки, содержащие буквальную структуру (строки, байты, числа, кортежи, списки, подсказки, наборы, логические значения и None), а не произвольные выражения Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...