В Python как получить список списков из строки, которая выглядит как список списков

#python

#python

Вопрос:

Я считываю данные из другой системы, и они у меня есть в виде строки. Я хочу изменить его на объект List, имеющий списки внутри, чтобы я мог с ним работать. Есть ли какой-нибудь простой способ? Предпочел бы без дополнительных библиотек.

 my_string = '[["a", "b", "c", "d"], ["a1", "b1", "c1", ""], ["a2", "b2", "", "d2"]]'
print(type(my_string)) # <class 'str'>
  

Спасибо

Комментарии:

1. у вас есть строка и нужные списки?

2. да, нужен список списков.

3. если ответ помог, не забудьте отметить принятый ответ

Ответ №1:

похоже, вам нужно использовать модуль json для этого конкретного случая:

 import json

#... more code
list_of_lists = json.loads(my_string)
print(list_of_lists[0][0])
>>>a
  

Ответ №2:

** Используйте здесь встроенную в python функцию eval() и получите свой список по мере необходимости **

 x = eval(my_string)
>>> type(x)
   <class 'list'>
>>> x[0]
   ['a', 'b', 'c', 'd']
>>> x[1]
   ['a1', 'b1', 'c1', '']
>>> x[2]
   ['a2', 'b2', '', 'd2']
  

Ответ №3:

Вы можете использовать eval (будьте осторожны с этой функцией, хотя)

 print(eval(my_string))
  

Комментарии:

1. Оценка — это опасная операция, которая может привести к уязвимости всей программы…