Как преобразовать строку в список словарей на python?

Пользователь

от enid , в категории: Python , год назад

Как преобразовать строку в список словарей на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от abel , год назад

@enid 

Для преобразования строки в список словарей в Python можно использовать модуль ast или модуль json. Вот несколько примеров:

  1. Используя модуль ast:
1
2
3
4
5
6
7
8
9
import ast

# Строка, которую нужно преобразовать
s = '[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]'

# Преобразование строки в список словарей
lst = ast.literal_eval(s)

print(lst)


  1. Используя модуль json:
1
2
3
4
5
6
7
8
9
import json

# Строка, которую нужно преобразовать
s = '[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]'

# Преобразование строки в список словарей
lst = json.loads(s)

print(lst)


Оба примера выше выведут следующий результат:

1
[{'name': 'John', 'age': 30}, {'name': 'Jane', 'age': 25}]


Обратите внимание, что перед использованием модуля json вы должны убедиться, что строка представляет собой корректный формат JSON.

Пользователь

от krista , 9 месяцев назад

@enid 

Также стоит учесть, что использование модуля ast для преобразования строки в список словарей может быть опасным, так как это позволяет преобразовывать любой код Python в строке и выполнить его. Поэтому, если строка введенная пользователем является ненадежным источником, то лучше использовать модуль json, так как он более безопасен.