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

我们基于字符串和字典解决了不同的问题。在本教程中,我们将看到如何在 Python 中将字符串转换为字典。

在此之前,让我们快速回忆一下字符串和字典。

字符串被定义为一个字符序列,并使用单引号或双引号来表示。

例如-


flower = 'Rose'
sub = 'Python'
name = 'James'

我们可以使用类型()检查上述变量的数据类型。

字典在 Python 中被定义为一种数据结构,它使用花括号中的键值对。

我们可以在各自键的帮助下访问字典中的值。

字典的例子是-


Subj = {'subj1': 'Computer Science', 'subj2': 'Physics', 'subj3': 'Chemistry', 'subj4': 'Mathematics'}

现在让我们列出可以将字符串转换为字典的方法。

  1. 使用负载()
  2. 使用literal_eval
  3. 使用生成器表达式

是时候详细讨论它们了-

使用 json.loads()

下面的程序展示了如何使用 json.loads()将字符串转换为字典


#using json()
import json
#initialising the string
string_1 = '{"subj1":"Computer Science","subj2":"Physics","subj3":"Chemistry","subj4":"Mathematics"}'
print("String_1 is ",string_1)
#using json.loads()
res_dict=json.loads(string_1)
#printing converted dictionary
print("The resultant dictionary is ",res_dict)

输出:

String_1 is  {"subj1":"Computer Science","subj2":"Physics","subj3":"Chemistry","subj4":"Mathematics"}
The resultant dictionary is  {'subj1': 'Computer Science', 'subj2': 'Physics', 'subj3': 'Chemistry', 'subj4': 'Mathematics'}

说明:

让我们了解一下我们在上面的程序中做了什么-

  1. 在第一步中,我们已经导入了 json 模块。
  2. 之后,我们已经初始化了我们想要转换的字符串。
  3. 现在我们已经简单地在 loads()中传递了‘string _ 1’作为参数。
  4. 最后,在最后一步中,我们显示了结果字典。

使用 ast.literal_eval()

现在我们来看看 ast.literal_eval 如何帮助我们实现目标。

下面的程序说明了同样的情况-


#convert string to dictionary
#using ast()
import ast
#initialising the string
string_1 = '{"subj1":"Computer Science","subj2":"Physics","subj3":"Chemistry","subj4":"Mathematics"}'
print("String_1 is ",string_1)
#using ast.literal_eval
res_dict=ast.literal_eval(string_1)
#printing converted dictionary
print("The resultant dictionary is ",res_dict)

输出:

String_1 is  {"subj1":"Computer Science","subj2":"Physics","subj3":"Chemistry","subj4":"Mathematics"}
The resultant dictionary is  {'subj1': 'Computer Science', 'subj2': 'Physics', 'subj3': 'Chemistry', 'subj4': 'Mathematics'}

说明:

让我们了解一下我们在上面的程序中做了什么-

  1. 第一步,我们已经导入了 ast 模块。
  2. 之后,我们已经初始化了我们想要转换的字符串。
  3. 现在我们已经简单地在 literaleval()中传递了‘string 1’作为参数。
  4. 最后,在最后一步中,我们显示了结果字典。

使用生成器表达式

最后,在最后一个例子中,我们将讨论如何使用生成器表达式。

让我们仔细研究给定的程序。


#convert string to dictionary
#using generator expressions
#initialising the string
string_1 = "subj1 - 10 , subj2 - 20, subj3 - 25, subj4 - 14"
print("String_1 is ",string_1)
#using strip() and split()
res_dict = dict((a.strip(), int(b.strip()))
                     for a, b in (element.split('-')
                                  for element in string_1.split(', ')))
#printing converted dictionary
print("The resultant dictionary is: ", res_dict)
print(type(res_dict))

输出:

String_1 is  subj1 - 10 , subj2 - 20, subj3 - 25, subj4 - 14
The resultant dictionary is:  {'subj1': 10, 'subj2': 20, 'subj3': 25, 'subj4': 14}
<class 'dict'>

是时候检查一下这种方法的解释了-

  1. 在第一步中,我们已经声明了一个字符串,它的值与一个连字符成对,每对用逗号分隔。这些信息很重要,因为它将成为获得所需输出的一个很好的工具。
  2. 此外,我们在 for循环中使用了 strip() 和 split() ,这样我们就可以得到通常格式的字典。
  3. 最后,我们打印了我们创建的字典,并使用 type()验证了它的类型。

结论

在本教程中,我们探索了字符串到字典的转换方法。


原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/239879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:19
下一篇 2024-12-12 12:19

相关推荐

  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python中将字符串转化为浮点数

    本文将介绍在Python中将字符串转化为浮点数的常用方法。在介绍方法之前,我们先来思考一下这个问题应该如何解决。 一、eval函数 在Python中,最简单、最常用的将字符串转化为…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python学习笔记:去除字符串最后一个字符的方法

    本文将从多个方面详细阐述如何通过Python去除字符串最后一个字符,包括使用切片、pop()、删除、替换等方法来实现。 一、字符串切片 在Python中,可以通过字符串切片的方式来…

    编程 2025-04-29
  • Python中取出字典中对应键的值

    如何使用Python在字典中获取特定键的值?这是Python编程中必须掌握的技能之一。本文将通过多个方面来详细讲解Python如何取出字典中对应键的值。 一、通过键名获取值 当我们…

    编程 2025-04-29
  • 使用FFmpeg在Java中将MP3 URL转换为PCM

    本文介绍了使用FFmpeg在Java中将MP3 URL转换为PCM的具体步骤,以及相应代码示例。 一、准备工作 在使用FFmpeg之前,需要先安装FFmpeg,可以在官网(http…

    编程 2025-04-29
  • Python如何遍历字典中的key和value

    本文将详细讲解Python中如何遍历字典中的key和value,包括多种遍历方式以及在遍历过程中的一些应用场景。 一、遍历字典中的key和value 在Python中,字典是一种无…

    编程 2025-04-29
  • Python如何将字符串1234变成数字1234

    Python作为一种广泛使用的编程语言,对于数字和字符串的处理提供了很多便捷的方式。如何将字符串“1234”转化成数字“1234”呢?下面将从多个方面详细阐述Python如何将字符…

    编程 2025-04-29
  • Python int转二进制字符串

    本文将从以下几个方面对Python中将int类型转换为二进制字符串进行详细阐述: 一、int类型和二进制字符串的定义 在Python中,int类型表示整数,二进制字符串则是由0和1…

    编程 2025-04-29

发表回复

登录后才能评论