Как преобразовать строку Python в словарь

При разработке Python преобразование одного типа данных в другой — частая проблема, и вы должны решать ее соответствующим образом. Словарь Python — это надежная структура данных, которая работает с парами ключ-значение. Когда мы обмениваемся данными между клиентом и сервером, используется строка json. JSON является стандартом для обмена данными, и когда данные доступны на стороне клиента, нам нужно преобразовать строку json в словарь.

Чтобы преобразовать Python dict в строку, используйте json.dumps () . Чтобы преобразовать строку Python в словарь, продолжайте эту статью.

Содержание
  1. Python String to Dictionary
  2. Вывод
  3. Строка JSON: {"Name": "Millie", "Age": 18, "City": "Atlanata"} После преобразования: { 'Имя': 'Millie', 'Age': 18, 'City': 'Atlanata'} Вы можете видеть, что функция load () возвращает словарь, и мы проверили, что используя метод type (). Это первый и простой способ преобразовать строку в dict в Python. Давайте посмотрим на другой способ. Использование ast.literal_eval () ast.literal_eval () — это встроенная функция библиотеки Python, используемая для преобразования строки в dict. Давайте воспользуемся приведенным выше примером и импортируем ast и используйте его метод literal_eval (). # app.pyimport aststr = '{"Name": "Millie", "Age": 18 , "City": "Atlanata"} 'print (' Строка JSON равна ', str) convertDict = ast. literal_eval (str) print ("После преобразования:", convertDict) print (type (convertDict)) Вывод Строка JSON: {"Имя": "Милли", "Возраст": 18, "Город": "Атланата"} После преобразования: {'Имя': 'Милли', 'Возраст': 18, 'Город': 'Атланата '} Вы можете видеть, что результат такой же, как у функции load (), и она делает то же самое. Использование выражений генератора в Python Если у нас достаточно строк для формирования словаря, мы можем использовать выражения генератора для преобразования строку в словарь. # app.pystr = "E - 11, K - 19, L - 21" convertDict = dict ((x.strip (), int (y.strip ( ))) для x, y в (element.split ('-') для элемента в str.split (','))) print ("Преобразованный dict:", convertDict) print (type (convertDict)) Вывод Преобразованный dict: {'E': '11', 'K': '19', 'L' : '21'} В этом примере мы использовали много Функции Python, такие как dict (), strip (), int (), и Во-первых, мы разделите строку внутри цикла for и преобразуйте их в словарь с помощью метода dict (). Метод strip () используется для удаления пробелов из строки и использования функции int () для преобразования строки в int для целочисленных значений. Заключение Пакет json полезен при работе с данными json. Это может помочь вам легко преобразовать объект Python в объект json и объект json в объект Python. Это все для этого урока.
  4. Использование ast.literal_eval ()
  5. Вывод
  6. Использование выражений генератора в Python
  7. Вывод
  8. Заключение

Python String to Dictionary

Чтобы преобразовать строку Python в словарь, используйте метод json.loads (). Json.loads () — это встроенная библиотечная функция Python, которая преобразует действительную строку в dict.

Сначала давайте определим строку json.

 str = '{"Имя": "Милли", "Возраст": 18, "Город": "Атланата"}  'print (' Строка JSON - это ', str) 

Вывод

 Строка JSON - {"Name": "  Millie "," Age ": 18," City ":" Atlanata "} 

Чтобы преобразовать строку JSON в dict, используйте метод json.loads ().

Прежде чем использовать метод load (), импортируйте пакет json в свою программу.

 import json 

Теперь вы можете использовать метод load ().

 # app.pyimport jsonstr = '{"Name": "Millie", "Age": 18, "City":  "Atlanata"} 'print (' Строка JSON равна ', str) convertDict = json.loads (str) print ("После преобразования:", convertDict) print (type (convertDict)) 

 Строка JSON: {"Name": "Millie", "Age": 18, "City": "Atlanata"} После преобразования: {  'Имя':  'Millie', 'Age': 18, 'City': 'Atlanata'}  

Вы можете видеть, что функция load () возвращает словарь, и мы проверили, что используя метод type () .

Это первый и простой способ преобразовать строку в dict в Python. Давайте посмотрим на другой способ.

Использование ast.literal_eval ()

ast.literal_eval () — это встроенная функция библиотеки Python, используемая для преобразования строки в dict.

Давайте воспользуемся приведенным выше примером и импортируем ast и используйте его метод literal_eval () .

 # app.pyimport aststr = '{"Name": "Millie", "Age": 18  , "City": "Atlanata"} 'print (' Строка JSON равна ', str) convertDict = ast. literal_eval (str) print ("После преобразования:", convertDict) print (type (convertDict)) 

Вывод

  Строка JSON: {"Имя": "Милли", "Возраст": 18, "Город": "Атланата"} После преобразования: {'Имя': 'Милли', 'Возраст': 18, 'Город': 'Атланата  '}  

Вы можете видеть, что результат такой же, как у функции load (), и она делает то же самое.

Использование выражений генератора в Python

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

 # app.pystr = "E - 11, K - 19, L - 21" convertDict = dict ((x.strip (), int (y.strip (  ))) для x, y в (element.split ('-') для элемента в str.split (','))) print ("Преобразованный dict:", convertDict) print (type (convertDict)) 

Вывод

 Преобразованный dict: {'E': '11', 'K': '19', 'L'  : '21'}  

В этом примере мы использовали много Функции Python, такие как dict (), strip (), int (), и

Во-первых, мы разделите строку внутри цикла for и преобразуйте их в словарь с помощью метода dict (). Метод strip () используется для удаления пробелов из строки и использования функции int () для преобразования строки в int для целочисленных значений.

Заключение

Пакет json полезен при работе с данными json. Это может помочь вам легко преобразовать объект Python в объект json и объект json в объект Python. Это все для этого урока.

Оцените статью
nanomode.ru
Добавить комментарий