При разработке Python преобразование одного типа данных в другой — частая проблема, и вы должны решать ее соответствующим образом. Словарь Python — это надежная структура данных, которая работает с парами ключ-значение. Когда мы обмениваемся данными между клиентом и сервером, используется строка json. JSON является стандартом для обмена данными, и когда данные доступны на стороне клиента, нам нужно преобразовать строку json в словарь.
Чтобы преобразовать Python dict в строку, используйте json.dumps () . Чтобы преобразовать строку Python в словарь, продолжайте эту статью.
- Python String to Dictionary
- Вывод
- Строка 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. Это все для этого урока.
- Использование ast.literal_eval ()
- Вывод
- Использование выражений генератора в Python
- Вывод
- Заключение
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. Это все для этого урока.