如何在 Python 中将字符串转换为字典

Python 字典是一种处理键值对的强大数据结构。 但是,在客户端和服务器之间交易所数据时,使用的是 json 字符串。

JSON是数据交易所的标准,当客户端有数据可用时,我们需要将json字符串转换成字典。

Python字符串到dict

要将 Python 字符串转换为字典,请使用 json.loads() 函数。 json.loads() 是一个内置函数,可将有效字符串转换为字典。 json.loads() 函数将 json 字符串作为参数并返回字典。

str="{"Name": "Millie", "Age": 18, "City": "Atlanata"}"

print('The JSON String is', str)

输出

The JSON String is {"Name": "Millie", "Age": 18, "City": "Atlanata"}

让我们使用 json.loads() 方法将字符串转换为字典。

在使用 load() 方法之前,将 json 包导入程序。

import json

现在,您可以使用 load() 方法。

# app.py

import json

str="{"Name": "Millie", "Age": 18, "City": "Atlanata"}"

print('The JSON String is', str)

convertedDict = json.loads(str)

print("After conversion: ", convertedDict)
print(type(convertedDict))

输出

The JSON String is {"Name": "Millie", "Age": 18, "City": "Atlanata"}
After conversion:  {'Name': 'Millie', 'Age': 18, 'City': 'Atlanata'}

您可以看到 load() 函数返回一个字典,我们使用 type() 方法验证了这一点。

要将 Python dict 转换为字符串,请使用 json.dumps() 方法。

使用 ast.literal_eval()

ast.literal_eval() 是一个内置的 Python 库函数,可将字符串转换为 dict。 要使用 literal_eval() 函数,请导入 ast 包并使用它的 literal_eval() 方法。

# app.py

import ast

str="{"Name": "Millie", "Age": 18, "City": "Atlanata"}"

print('The JSON String is', str)

convertedDict = ast.literal_eval(str)

print("After conversion: ", convertedDict)
print(type(convertedDict))

输出

The JSON String is {"Name": "Millie", "Age": 18, "City": "Atlanata"}
After conversion:  {'Name': 'Millie', 'Age': 18, 'City': 'Atlanata'}

您可以看到输出与 load() 函数相同,并且执行相同的操作。

在 Python 中使用生成器表达式

如果我们有足够的字符串来组成字典,请使用生成器表达式将字符串转换为字典。

# app.py

str = "E - 11, K - 19, L - 21"

convertedDict = dict((x.strip(), int(y.strip()))
                     for x, y in (element.split('-')
                                  for element in str.split(', ')))

print("Converted dict is: ", convertedDict)
print(type(convertedDict))

输出

Converted dict is:  {'E': '11', 'K': '19', 'L': '21'}

在此示例中,我们使用了许多 Python 函数,例如 dict()、strip()、int() 和 split()。

首先,我们在 for 循环中拆分字符串,并使用 dict() 方法将它们转换为字典。

接下来,strip() 方法从字符串中删除空格并使用 int() 函数将字符串转换为整数值的 int。

结论

json 包在处理 json 数据时很有帮助。 它可以帮助您将 Python 对象转换为 json 对象,并将 json 对象转换为 Python 对象。 而已。

相关文章

要列出的 Python 字符串

Python字符串到字符列表

Python字符串到数组

Python字符串到dict

Python字符串到十六进制

如何在 Python 中将字符串转换为字典的帖子首先出现在 AppDividend 上。

资讯来源:由0x资讯编译自APPDIVIDEND,版权归作者Krunal所有,未经许可,不得转载
你可能还喜欢