原文:PythonForBeginners
协议:CC BY-NC-SA 4.0
原文:https://www.pythonforbeginners.com/basics/convert-a-list-to-string-in-python
Python 字符串是最常用的数据类型之一。然而,Python 列表是最常用的数据结构。在本文中,我们将尝试使用 python 中的不同函数将列表转换为字符串。我们将使用 join()之类的字符串方法和 map()和 str()之类的函数将列表转换成字符串。
在 python 中,将列表转换为字符串的最简单方法是使用 for 循环和字符串串联。要将列表转换为字符串,我们可以简单地将列表中的每个元素转换为字符串。然后我们可以把它们连接起来形成一个字符串。
为了执行转换,首先我们将获取一个空字符串。之后,我们将开始将列表中的每个元素转换成字符串后添加到空字符串中。在这个过程中,我们还会在每个元素之间添加空格。这可以如下进行。
输出:
在上面的例子中,我们可以看到在字符串的末尾添加了一个额外的空格。我们可以使用 rstrip()方法从字符串中删除多余的空格。
在 python 中将列表转换为字符串的另一种方法是使用 join()方法。join()方法用于从字符串列表中创建一个字符串。
join()方法在分隔符上调用,分隔符用于分隔字符串中的列表元素。字符串列表作为 join()方法的输入给出,它返回一个由列表元素创建的字符串。
我们将创建一个空字符串,列表中的所有元素都将连接到该字符串。为了创建字符串,我们将逐个获取列表中的每个元素,并将其转换为字符串。然后,我们将使用由列表的先前元素和当前元素组成的字符串创建一个字符串列表。我们将使用 join()方法从当前字符串和先前创建的字符串创建新字符串,方法是将一个空格字符作为分隔符,并对其调用 join()方法。我们将使用 for 循环对列表中的所有元素执行这个过程,直到形成完整的字符串。这可以从下面的例子中看出。
输出:
在上面的方法中,在输出字符串的左侧添加了一个额外的空格,必须使用 lstrip()方法将其删除。为了避免这种情况,我们可以使用 map()函数将列表中的每个元素转换为一个字符串,而不是对列表中的每个元素应用 str()函数,这样我们就可以使用 join()方法执行字符串连接,从而使用一条语句获得输出字符串。
map()函数将一个函数和一个 iterable 作为输入参数,对 iterable 对象的每个元素执行该函数,并返回可以转换为列表的输出 map 对象。
为了将列表的元素转换成字符串,我们将把 str()函数和输入列表传递给 map()方法。之后,我们可以使用 join()方法从字符串列表中创建一个字符串,如下所示。
输出:
我们可以使用 list comprehension 将一个列表转换成一个字符串。为此,我们将使用 list comprehension 和 str()函数将列表中的每个元素转换为字符串,然后使用 join()方法将它们连接起来,如下所示。
输出:
或者,我们可以使用 map()函数将列表中的元素转换为字符串。然后,我们将使用 list comprehension 从 map()函数创建的 map 对象创建一个新的列表,并将它作为 join()方法的输入,从列表创建一个字符串,如下所示。
输出:
在本文中,我们使用了 str()、map()和 join()函数将列表转换为字符串。我们也看到了如何使用列表理解来完成这项任务。要了解如何将字符串转换成列表,请阅读这篇关于 python 中的字符串拆分操作的文章。
原文:https://www.pythonforbeginners.com/basics/convert-csv-to-html-table-in-python
CSV 文件包含逗号分隔的值,这些值通常包含表格。有时,我们可能需要将 csv 文件呈现为 HTML 页面。在本文中,我们将讨论如何用 python 将 csv 文件转换成 HTML 表格。
熊猫模块为我们提供了不同的工具来处理 csv 文件。要将 csv 文件转换成 HTML 表格,我们将首先使用方法打开文件。方法将 csv 文件的文件名作为输入参数,并返回包含来自 csv 文件的数据的 dataframe。
从 csv 文件获取数据到数据帧后,我们可以使用方法将数据帧转换成 HTML 字符串。在 dataframe 上调用方法时,会将 dataframe 转换为 HTML 表,并以字符串的形式返回 HTML 文本。您可以在下面的示例中观察到这一点。
输出:
您也可以将数据直接保存到 HTML 文件中。为此,您必须将文件名作为输入参数传递给方法。在 dataframe 上调用方法时,该方法将 HTML 文件的文件名作为输入参数,并将其保存在当前工作目录中。在执行之后,方法在这种情况下返回 None。您可以在下面的示例中观察到这一点。
输出:
下面是使用上述程序创建的 html 表格的快照。
我们还可以使用方法将 csv 文件转换成 HTML 文件。为此,我们将首先在读取模式下使用方法打开 csv 文件。方法将文件名作为第一个输入参数,将文字“r”作为第二个输入参数。执行后,它返回一个包含文件内容的 file 对象。
打开文件后,我们将使用 方法读取文件内容。在 file 对象上调用方法时,它将文件的内容作为字符串列表返回,其中列表的每个元素都包含输入文件中的一行。
现在,csv 文件的头将出现在由 方法返回的列表中的索引 0 处。我们将在由方法返回的列表的第一个元素上使用字符串分割操作提取 csv 文件的列名。
获得列表中的列名后,我们将使用()方法创建一个漂亮的表。方法将包含列名的列表作为输入参数,并返回一个漂亮的表。创建表格后,我们将使用方法将数据添加到表格中。方法获取包含一行中的值的列表,并将其添加到 pretty 表中。
创建表格后,我们将使用方法获得表格的 HTML 字符串。当在 pretty table 对象上调用方法时,它以字符串的形式返回表格的 HTML 文本。
您可以在下面的示例中观察整个过程。
输出:
在本文中,我们讨论了如何用 python 将 csv 文件转换成 HTML 文件。想了解更多关于 python 编程的知识,可以阅读这篇关于 python 中列表理解的文章。你可能也会喜欢这篇关于用 python 理解字典的文章。
原文:https://www.pythonforbeginners.com/basics/convert-csv-to-pdf-file-in-python
CSV 文件包含逗号分隔的值,这些值通常包含表格。有时,我们可能需要将 csv 文件转换成 PDF 文件。在本文中,我们将讨论如何用 python 将 csv 文件转换成 PDF。
要将 csv 文件转换为 PDF,我们将首先使用 pandas 模块创建 csv 文件内容的 HTML 字符串。熊猫模块为我们提供了不同的工具来处理 csv 文件。
要将 csv 文件转换成 HTML 字符串,我们将首先使用方法打开文件。方法将 csv 文件的文件名作为输入参数,并返回包含来自 csv 文件的数据的 dataframe。
从 csv 文件获取数据到数据帧后,我们可以使用方法将数据帧转换成 HTML 字符串。在 dataframe 上调用方法时,会将 dataframe 转换为 HTML 表,并以字符串的形式返回 HTML 文本。您可以在下面的示例中观察到这一点。
输出:
获得 HTML 字符串形式的 csv 文件后,我们将把 HTML 字符串转换成 pdf 文件。为此,我们将使用 pdfkit 模块,它构建在 wkhtmltopdf 库之上。pdfkit 模块为我们提供了方法,我们可以用它将 HTML 字符串转换成 pdf 文件。为此,我们将使用方法。方法将 HTML 字符串作为第一个输入参数,将 pdf 文件的文件名作为第二个输入参数。执行后,HMTL 字符串保存在 pdf 文件中。您可以在下面的示例中观察到这一点。
输出:
附件是从 csv 文件创建的 PDF 文件。
在本文中,我们讨论了如何用 python 将 csv 文件转换成 pdf 文件。想了解更多关于 python 编程的知识,可以阅读这篇关于 python 中列表理解的文章。你可能也会喜欢这篇关于用 python 理解字典的文章。
原文:https://www.pythonforbeginners.com/basics/convert-integer-to-string-in-python
Python 字符串是为模式匹配等操作进行数据分析时最常用的数据类型之一。在本文中,我们将使用不同的方法在 python 中将整数转换成字符串。
将整数转换为字符串的最简单方法是使用 str()函数。str()函数将整数作为输入,并返回其字符串表示形式,如下所示。
输出:
我们可以检查输入变量和输出变量的类型,以确认整数是否已经转换为字符串。为此,我们将使用 type()函数。type 函数将 python 对象作为输入,并返回输入对象的数据类型,如下所示。
输出:
字符串格式化是一种将变量或另一个字符串插入预定义字符串的方法。我们也可以使用字符串格式将整数转换成字符串。在本文中,我们将使用“%s”操作符以及 format()方法将整数转换为字符串。
“%s”运算符用于格式化字符串中的值。一般用来避免字符串串联。但是,我们可以使用这个操作符将整数转换成字符串。为此,首先我们将创建一个空字符串,并在空字符串中放置一个%s 占位符。之后,我们可以指定需要转换成字符串的整数。在程序执行期间,python 解释器会将整数转换为字符串,如下例所示。
输出:
代替“%s”操作符,我们也可以使用 format()方法来执行转换。为此,我们可以在空字符串中放置一个{}占位符。之后,我们可以在空字符串上调用 format 方法,将整数作为 format()方法的输入。这将把整数转换成字符串,如下所示。
输出:
f 字符串用于将值或表达式嵌入到字符串中。我们也可以用 f 字符串把一个整数转换成一个字符串。
使用 f 字符串的语法类似于 format()方法的语法。唯一的区别是我们可以将变量直接放入占位符中。这使得代码更具可读性。要将整数变量 n 放入字符串,我们只需将 n 放入占位符{}中,如下所示。
要使用 f 字符串将整数转换为字符串,我们将声明一个空字符串,其中只有一个整数占位符。这样,在运行时,整数将被转换为字符串。这可以从下面的例子中看出。
输出:
在本文中,我们看到了在 python 中将整数转换成字符串的不同方法。我们使用了内置的 str()方法、字符串格式以及 f 字符串。要了解更多关于字符串的内容,你可以阅读这篇关于 python 字符串拆分操作的文章。我们还可以使用 python try except 来编写本文中使用的程序,以使程序更加健壮,并以系统的方式处理错误。
原文:https://www.pythonforbeginners.com/lists/convert-list-of-lists-to-csv-file-in-python
列表是 python 中最常用的数据结构之一。在本文中,我们将讨论如何用 python 将列表转换成 CSV 文件。
csv 模块为我们提供了对 CSV 文件执行各种操作的不同方法。要在 python 中将列表列表转换为 csv,我们可以使用 csv.writer()方法和 csv.writerow()方法。为此,我们将使用以下步骤。
- 首先,我们将使用 open()函数以写模式打开一个 csv 文件。open()函数将文件名作为第一个输入参数,将文字“w”作为第二个输入参数,以表明文件将以写模式打开。它返回一个 file 对象,该对象包含由 open()函数创建的空 csv 文件。
- 打开文件后,我们将使用 csv.writer()方法创建一个 csv.writer 对象。csv.writer()方法将 file 对象作为输入参数,并返回一个 writer 对象。一旦创建了 writer 对象,我们就可以使用 csv.writerow()方法将列表中的数据添加到 csv 文件中。
- 在 writer 对象上调用 csv.writerow()方法时,该方法获取一个值列表,并将其添加到 writer 对象引用的 csv 文件中。
- 首先,我们将为 CSV 文件添加文件头。为此,我们将把列名列表传递给 writerow()方法
- 添加头之后,我们将使用一个带有 writerow()方法的 for 循环将每个列表添加到 csv 文件中。这里,我们将把每个列表逐个传递给 writerow()方法。writerow()方法将列表添加到 csv 文件中。
执行 for 循环后,列表中的数据将被添加到 CSV 文件中。要保存数据,应该使用 close()方法关闭文件。否则,不会将任何更改保存到 csv 文件中。
使用 csv.writer()方法将列表转换为 csv 文件的源代码如下。
输出:
在本文中,我们讨论了一种用 python 将列表转换成 csv 文件的方法。在这些方法中,每个列表都将被添加到 csv 文件中,而不管它与 csv 中的列相比是否具有相同数量的元素。因此,建议确保每个元素都有相同数量的元素。此外,您应该确保列表中元素的顺序应该相同。否则,附加到 csv 文件的数据将变得不一致,并会导致错误。
要了解更多关于 python 中的列表,你可以阅读这篇关于 python 中的列表理解的文章。你可能也会喜欢这篇关于 python 中的字典理解的文章。
原文:https://www.pythonforbeginners.com/basics/convert-string-to-datetime-in-python
我们通常将日期以字符串的形式保存在文本文件或电子表格中。在 python 中处理日期和时间时,我们经常需要计算两个事件之间花费的天数或时间。在这样的计算中,我们可以使用 python datetime 模块,在它的帮助下,我们可以将日期存储为 python 对象。在本文中,我们将讨论如何在 python 中将字符串转换为日期时间对象。
Python 为我们提供了模块来处理与时间和日期相关的数据。它定义了许多函数来计算当前时间,两个日期之间花费的时间等等。例如,您可以使用下面的函数获得当前日期和时间。
输出:
函数的输出是一个 datetime 对象,它有许多属性,如、、、、和。您可以按如下方式访问每个属性。
输出:
我们还可以使用构造函数创建一个 datetime 对象。它接受年、月和日作为其第一、第二和第三个参数,并返回一个 datetime 对象,如下所示。
输出:
您还可以将小时、分钟、秒、微秒和时区参数传递给构造函数,作为 day 之后的后续参数,顺序相同。这些是可选参数,小时、分钟、秒和微秒的默认值为 0。时区的默认值为无。
除了直接创建日期对象,我们还可以在 python 中将字符串转换为日期时间对象。我们可以使用方法来实现。
方法接受一个包含日期的字符串作为第一个输入参数,一个包含日期格式的字符串作为第二个输入参数。执行后,它返回一个 datetime 对象,如下所示。
输出:
我们还可以为输入字符串指定其他格式,并将它们转换为 datetime 对象,如下例所示。
输出:
在本文中,我们讨论了 python 中的 datetime 对象。我们还讨论了如何在 python 中将字符串转换成日期时间对象。要了解更多关于字符串的知识,可以阅读这篇关于 python 中的字符串方法的文章。您可能也会喜欢这篇关于 python 中的字符串连接的文章。
原文:https://www.pythonforbeginners.com/basics/convert-string-to-list-in-python
字符串和列表是最常用的 python 对象。有时,在操作字符串时,我们需要将字符串转换成列表。在本文中,我们将讨论在 Python 中将字符串转换成列表的不同方法。
函数用于从现有的 iterable 对象创建一个列表。函数将一个 iterable 对象作为它的输入参数。执行后,它返回一个包含 iterable 对象所有元素的列表。
为了在 Python 中将字符串转换成列表,我们将把输入字符串传递给 函数。执行后,它将返回一个包含输入字符串字符的列表。您可以在下面的示例中观察到这一点。
输出:
在上面的例子中,我们已经将字符串传递给了函数。执行后,它返回字符串中的字符列表。
方法用于将一个元素添加到一个列表中。当在列表上调用时,它将一个元素作为其输入参数,并将该元素追加到列表中。
要使用方法将字符串转换成列表,我们将使用以下步骤。
- 首先,我们将创建一个名为的空列表来存储输出列表。
- 之后,我们将使用 for 循环遍历输入字符串的字符。
- 在迭代过程中,我们将使用方法将当前字符添加到中。
执行 for 循环后,我们将在中得到输出列表。您可以在下面的示例中观察到这一点。
输出:
在这里,您可以观察到我们使用 for 循环和方法从输入字符串中获得了一个列表。
方法用来同时向一个列表中添加几个元素。当在列表上调用时, 方法将 iterable 对象作为其输入参数。执行后,它将 iterable 对象的所有元素追加到列表中。
为了使用方法将字符串转换成列表,我们将首先创建一个名为的空列表。之后,我们将调用上的 方法,并将输入字符串作为方法的输入参数。
在执行了方法之后,我们将在中得到结果输出。您可以在下面的示例中观察到这一点。
输出:
在上面的例子中,我们使用 extend()方法获得了字符串的字符列表。
列表理解用于从现有的可迭代对象创建一个新列表。理解列表的语法如下。
为了在 python 中将字符串转换成列表,我们将使用输入字符串来代替。在和的位置,我们将使用字符串的字符。
执行上述语句后,我们将在中得到输出列表。
您可以在下面的示例中观察到这一点。
输出:
在本文中,我们讨论了在 Python 中将字符串转换为列表的四种方法。在所有这些方法中,您可以使用函数从输入字符串创建一个新的列表。
如果您想将字符串中的字符添加到现有的列表中,您可以使用带有 方法或方法的方法。要了解更多关于 python 编程的知识,你可以阅读这篇关于 Python 中的字符串连接的文章。你可能也会喜欢这篇关于用 Python 理解字典的文章。
请继续关注更多内容丰富的文章。
快乐学习!
原文:https://www.pythonforbeginners.com/basics/convert-string-to-set-in-python
在 python 中,字符串用于操作文本数据。有时,我们可能需要找出文本中不同字符的总数。在这种情况下,我们可以将字符串转换成集合。在本文中,我们将讨论在 python 中将字符串转换为集合的不同方法。
函数用于在 Python 中创建一个集合。它将一个 iterable 对象作为其输入参数,并返回一个包含 iterable 对象中元素的集合。
正如我们所知,字符串是一个可迭代的对象,我们可以使用函数从 python 中的字符串获得一个集合。为此,我们将把字符串作为输入参数传递给函数。执行函数后,我们将得到输入字符串的所有字符的集合。您可以在下面的示例中观察到这一点。
输出:
在上面的例子中,您可以观察到我们将字符串作为输入传递给了函数。执行后,它返回一个包含字符串中字符的集合。
集合理解用于从现有的可迭代对象创建新的集合。集合理解的语法如下。
为了使用 Python 中的集合理解将字符串转换成集合,我们将使用输入字符串作为,将字符串的字符作为以及。执行后,上述语句会将字符串转换为 set。您可以在下面的示例中观察到这一点。
输出:
在上面的例子中,我们已经使用 set comprehension 将转换为 Python 中的集合。
方法用于向集合中添加一个元素。当在集合上调用时,方法将一个元素作为它的输入参数。执行后,如果元素不存在于集合中,它会将该元素添加到集合中。如果元素已经存在于集合中,则什么也不会发生。
要使用 python 中的方法将字符串转换为集合,我们将使用以下步骤。
- 首先,我们将创建一个名为的空集。为此,我们将使用函数。函数在不带任何参数的情况下执行时,返回一个空集。
- 创建空集后,我们将使用 for 循环遍历输入字符串的字符。
- 在迭代过程中,我们将调用上的方法,并将每个字符添加到。
- 在执行 for 循环后,我们将获得变量中设置的输出。您可以在下面的示例中观察到这一点。
输出:
在这个例子中,我们使用了方法将字符串 pythonforbeginners 转换为一个集合。
在本文中,我们讨论了在 Python 中将字符串转换为集合的三种方法。在所有这三种方法中,如果您需要在集合中包含字符串的所有字符,您可以使用使用函数的方法。
如果您需要从集合中排除输入字符串的某些字符,您可以使用带有方法或集合理解的方法。要了解更多关于 python 编程的知识,你可以阅读这篇关于 python 中的字符串连接的文章。你可能也会喜欢这篇关于 Python 中字典理解的文章。
我希望你喜欢阅读这篇文章。请继续关注更多内容丰富的文章。
快乐学习!
原文:https://www.pythonforbeginners.com/basics/convert-string-to-variable-name-in-python
在用 python 编程时,有几种情况下我们可能需要将字符串转换成变量名。例如,假设我们需要将一些用户数据作为输入,用户需要输入一些字段名称和它们相应的值。我们需要将字段名转换成一个变量,这样我们就可以给它们赋值。在本文中,我们将讨论在 python 中将输入字符串转换为变量名的不同方法。
python 中的变量是对内存中对象的引用。我们在 python 中使用变量来处理不同类型的值。当我们给一个 python 变量赋值时,解释器为该值创建一个 python 对象。之后,变量名指的是内存位置。您可以在 python 中定义一个变量,如以下 python 程序所示。
输出:
python 字符串是包含在单引号或双引号中的文字。我们也可以使用三重引号来定义字符串。我们可以定义一个字符串值,并将其赋给一个字符串变量,如下例所示。
输出:
在上面的例子中,我们创建了一个变量。然后,我们将字符串“”赋给了。
我们可以使用函数和函数来访问 python 中的变量名。
执行时,函数返回一个字典,其中包含所有字符串形式的变量名及其对应的值。它是一个全局符号表,包含程序全局范围内定义的所有名称。您可以在下面的 python 代码中观察到这一点。
输出:
在上面的例子中,您可以观察到由函数返回的字典包含一些默认值以及我们定义的变量。
函数返回只包含全局变量作为键的字典。当我们在函数或其他内部作用域中定义一个变量时,我们不能使用函数访问在该作用域中定义的变量。例如,看看下面的代码。
输出:
在上面的例子中,我们已经在函数 myFun 中定义了 funvar1 和 funvar2。然而,这些变量不存在于全局符号表中。
即使我们执行函数中的函数,在中定义的变量也不会包含在全局符号表中。您可以在下面的示例中观察到这一点。
输出:
要打印函数中定义的变量名,我们可以使用 函数。
当在函数或其他内部作用域中调用时,函数返回一个字典,其中变量名及其相关值作为一个键-值对出现。
您可以使用 print 语句来打印字典,如下所示。
输出:
在上面的例子中,您可以观察到由函数返回的字典包含了在内部定义的变量。
函数在全局范围内执行时,打印包含全局变量及其值的字典。您可以在下面的示例中观察到这一点。
输出:
既然我们已经讨论了如何在 python 中访问变量名,现在让我们讨论如何在 python 中创建动态变量和定义动态变量名。对于这一点,有各种方法,我们将逐一讨论。
正如我们在上一节中看到的,python 解释器将变量名和它们的值以字典的形式存储在一个符号表中。如果在我们的程序中给我们一个字符串作为输入,我们可以通过将输入字符串作为一个键添加到符号表中,用该字符串定义一个变量名。我们可以添加单个字符、数值或字符串作为变量的关联值。
要将字符串转换为变量名,我们将遵循以下步骤。
- 首先,我们将使用函数获得包含符号表的字典。函数在执行时返回当前作用域的符号表。
- 一旦我们获得了符号表,我们将使用下标符号添加字符串名称作为键,变量的值作为关联值。
- 将键-值对添加到符号表后,将使用给定的字符串名称和关联的值创建变量。
您可以通过这个简单的例子观察到这一点。
输出:
在上面的例子中,我们使用了下标符号对符号表进行了修改。您可以使用 方法,而不是使用下标符号将新的字符串值作为键添加到符号表中。
当在 python 字典上调用 方法时,该方法将一个字符串文字作为第一个参数,并将与新变量名相关联的值作为第二个参数。执行后,字符串和值作为字典中的键-值对添加到字典中。
由于方法返回的符号表也是一个字典,我们可以使用 方法将字符串转换成 python 中的变量名,如下所示。
输出:
上面使用方法的方法只在当前作用域中进行修改,因此,当我们想把一个字符串转换成一个像函数一样的局部作用域中的变量名时,这是很有用的。如果你只想改变一个函数的符号表,可以使用 函数将一个字符串转换成 python 中的变量名,如下所示。
输出:
如果您想在全局符号表中进行更改,将一个 python 字符串转换成一个全局变量名,您可以在全局范围内执行函数。之后,您可以使用下标符号或前面示例中所示的方法添加变量。
如果你想在函数中把一个字符串转换成一个全局变量,你不能使用函数。对于此任务,您可以使用功能。
执行时,函数返回全局符号表。您可以在任何范围内对全局符号表进行更改,以将字符串转换为全局变量名。为此,我们将执行以下步骤。
- 首先,我们将使用函数获得全局符号表。函数在执行时,将全局符号表作为字典返回。
- 一旦我们获得了符号表,我们将使用字典的下标符号添加字符串名称作为键,变量值作为关联值。
- 将键-值对添加到符号表后,将使用给定的字符串名称和关联的值创建变量。
执行以上步骤后,我们可以将一个字符串转换成一个全局变量。您可以在下面的示例中观察到这一点。
输出:
不使用下标符号,您可以使用带有函数的方法将字符串转换成 python 中的全局变量名,如下所示。
输出:
在 python 中,除了使用 和函数将字符串转换为变量名,我们还可以使用 函数。当在全局范围内执行时,函数的行为就像函数一样。当在函数或内部作用域中执行时,函数的行为类似于 函数。
要在全局范围内使用函数将字符串转换成变量名,我们将使用以下步骤。
- 使用函数,我们将获得包含全局范围内变量名的字典。
- 获得字典后,我们将使用字典的下标符号添加字符串名称作为键,变量的值作为关联值。
- 一旦我们将字符串和相关值添加到字典中,就在全局范围内创建了变量。
下面是在 python 中执行上述步骤将字符串转换为变量名的示例代码。
输出:
您也可以使用字典上的方法而不是下标符号来创建变量,如下例所示。
输出:
要使用函数将字符串转换为局部范围内的变量名,就像函数一样,您可以执行与我们使用函数创建全局变量相同的步骤。您可以在下面的示例中观察到这一点。
输出:
在前面的章节中,我们已经直接更改了符号表,将字符串转换为变量名。但是,这不是执行任务的最佳方式。
现在让我们讨论如何在不直接改变符号表的情况下,在 python 中将字符串转换为变量名。
我们可以使用 exec()函数来动态执行 python 语句。exec()函数将字符串形式的 python 语句作为输入参数。然后,执行 python 语句,就像它是用代码编写的普通 python 语句一样。例如,我们可以使用如下所示的函数定义一个值为 5 的变量 x。
输出:
要使用 exec()函数将字符串转换为变量名,我们将使用字符串格式。我们可以使用以下步骤来完成整个过程。
- 首先,我们将定义一个变量 myStr,它包含我们需要转换成变量名的原始字符串。
- 之后,我们将创建一个格式为" " "的字符串。这里,我们将使用第一个占位符表示字符串名称,第二个占位符表示我们将从字符串变量创建的变量值。
- 在创建了带有占位符的字符串之后,我们将调用上的方法,将作为第一个输入参数,将从创建的变量的值作为第二个输入参数。
- 一旦执行,方法将返回一个类似 python 语句的字符串,并将作为变量名,给定的值被赋给它。
- 在获得包含 python 语句的字符串后,我们将把它传递给函数。
- 一旦执行了函数,就会创建一个以字符串作为变量名的变量。
您可以在下面的示例中观察到这一点。
输出:
除了使用 函数,我们还可以使用函数将字符串转换成 python 中的变量名。
函数将 python 对象作为第一个输入参数,将属性(变量)名称作为第二个输入参数,将属性值作为第三个输入参数。执行后,它将属性添加到对象中。
要使用函数将字符串转换为变量名,我们首先需要获得 python 对象的当前作用域,这样我们就可以将变量作为属性添加到其中。为此,我们必须执行两项任务。
- 首先,我们需要获得程序中当前加载的模块的名称。
- 之后,我们需要找到当前正在执行的模块,即当前作用域。
为了找到当前加载到内存中的模块的名称,我们将使用属性。属性包含一个字典,该字典将模块名映射到已经加载的模块。
获得字典后,我们需要找到当前模块。为此,我们将使用属性。是一个内置属性,计算结果为当前模块的名称。
属性也出现在符号表中。您可以使用如下所示的属性找到当前模块的名称。
输出:
在这里,您可以看到我们目前处于模块。
在使用属性获得当前模块的名称之后,我们将使用属性上的下标符号获得当前模块对象。
获得当前模块后,我们将使用函数将字符串转换为变量名。为此,我们将当前模块作为第一个输入参数,字符串作为第二个输入参数,变量的值作为第三个输入参数传递给函数。执行完 函数后,将在当前范围内创建变量,输入字符串作为变量名。
您可以在下面的示例中观察到这一点。
输出:
在本文中,我们讨论了在 python 中将字符串转换为变量名的不同方法。在本文讨论的所有方法中,我建议您使用带有 exec()方法的方法。这是因为有几个保留的关键字不能用作变量名。关键字用于运行程序的不同任务。然而,如果我们直接改变符号表,我们可能会改变与关键字相关的值。在这种情况下,程序会出错。因此,尝试使用带有 函数的方法来将字符串转换成 python 中的变量名。
原文:https://www.pythonforbeginners.com/strings/convert-tuple-to-string-in-python
在 python 中,一个元组可以包含不同的元素。另一方面,字符串只是一系列字符。在本文中,我们将讨论在 python 中给定一组字符时,如何将元组转换为字符串。
假设我们有下面的字符组。
现在,我们必须将这个元组转换成字符串。
为了将 tuple 转换成 string,我们将首先创建一个名为的空字符串。之后,我们将使用 for 循环遍历元组。遍历时,我们将使用字符串串联操作将元组中的每个字符添加到中。在执行 for 循环后,我们将在变量中获得所需的字符串。您可以在下面的示例中观察到这一点。
输出:
不使用 for 循环,我们可以使用方法将字符元组转换成字符串。在字符串上调用方法时,该方法将包含字符串的 iterable 对象作为输入参数。执行后,它返回包含新字符的修改后的字符串以及原始字符串中的字符。
为了将一组字符转换成一个字符串,我们将首先创建一个名为的空字符串。之后,我们将调用上的 方法,并将元组作为输入参数。执行后, 方法将返回所需的字符串,如下所示。
输出:
如果你试图用上面讨论的任何一种方法将一组数字转换成一个字符串,程序将会抛出异常。您可以在下面的示例中观察到这一点。
输出:
类似地,当我们使用第二种方法时,程序会遇到如下所示的异常。
输出:
为了避免错误,我们只需在将元组添加到之前将它的每个元素转换成一个字符串。在第一种方法中,我们将首先使用函数将元组的每个元素转换成一个字符串。之后,我们将执行连接操作。这样,我们可以将一组数字转换成一个字符串。
输出:
对于使用方法的方法,我们将首先把数字元组转换成字符串元组。为此,我们将使用函数和函数。
函数将一个函数作为第一个参数,将一个 iterable 对象作为第二个输入参数。执行后,它返回一个 map 对象,其中函数应用于 iterable 对象的每个元素。我们将把函数和数字元组作为输入参数传递给函数。之后,我们将使用构造函数转换地图对象。因此,我们将得到一个字符串元组,如下所示。
输出:
从数字元组得到字符串元组后,我们可以直接得到字符串如下。
输出:
在本文中,我们讨论了如何在 python 中将元组转换为字符串。要了解 python 中字符串的更多信息,可以阅读这篇关于 python 中字符串格式化的文章。你可能也会喜欢这篇关于 python 中的列表理解的文章。
原文:https://www.pythonforbeginners.com/basics/copy-a-list-in-python
在用 python 编程时,我们有时需要在多个地方存储相同的数据。这可能是因为我们需要保存原始数据。在本文中,我们将讨论在 python 中复制列表的不同方法。
当我们需要在 python 中复制一个整数时,我们只需将一个变量赋给另一个变量,如下所示。
输出:
这里,我们创建了一个值为 10 的变量。然后,我们将赋给另一个变量。赋值后,即使我们改变了原始变量,复制变量中的值仍然不受影响。您可以在下面的示例中观察到这一点。
输出:
在上面的例子中,你可以看到在修改了之后中的值并没有被修改。
现在,让我们使用赋值操作复制一个列表。
输出:
在这种情况下,当我们更改原始列表时,复制的列表也会被修改。
输出:
为什么会这样?
通过赋值复制适用于整数,因为整数是不可变的对象。当一个整数被赋给另一个整数时,两者指的是同一个对象。一旦我们修改了任何整数变量,就会创建一个新的 python 对象,而原始的 python 对象不受影响。您可以在下面的示例中观察到这一点。
输出:
在这里,您可以看到在使用赋值操作符将复制到之后,和的 id 是相同的。然而,当我们修改时,的 id 会发生变化。
列表是可变的对象。当我们修改一个列表时,原始的列表对象也被修改。因此,在修改列表变量的过程中不会创建 python 对象,这种变化会反映在复制的和原始的列表变量中。您可以在下面的示例中观察到这一点。
输出:
在这里,您可以看到,即使在中修改后,两个列表的 id 仍然相同。因此,即使在修改之后,也可以确认原始列表和复制列表引用相同的对象。
由于赋值操作不适用于在 python 中复制列表,我们将讨论在 python 中复制列表的不同方法。在此之前,我们先来讨论一下 python 中的 函数。
Python 中的 id()函数
每个 python 对象都有一个唯一的标识符。我们可以使用函数来获取与任何 python 对象相关联的标识符,如上面的例子所示。
如果两个变量作为输入传递给函数,给出相同的输出,那么这两个变量指的是同一个对象。
如果函数的输出对于不同的变量是不同的,那么它们指的是不同的对象。
在接下来的部分中,我们将使用函数来检查一个列表是否被复制。如果列表复制成功,两个列表的标识符将会不同。在这种情况下,当我们修改一个列表时,它不会影响另一个列表。
如果引用列表的两个变量的标识符相同,则这两个变量引用同一个列表。在这种情况下,在与变量关联的列表中所做的任何更改都将反映在与另一个变量关联的列表中。
有了这个背景,现在让我们来讨论在 python 中复制列表的不同方法。
使用 Python 中的 List()构造函数复制列表
构造函数用于从任何可迭代对象创建一个新的列表,比如列表、元组或集合。它将一个 iterable 对象作为其输入参数,并返回一个包含输入 iterable 对象元素的新列表。
为了使用 python 中的构造函数复制一个列表,我们将把原始列表作为输入参数传递给 list()构造函数。
执行后, 构造函数将返回一个新的列表,其中包含原始列表中的元素。新列表和原始列表将具有不同的标识符,这些标识符可以使用方法获得。因此,对其中一个列表的任何更改都不会影响另一个列表。您可以在下面的示例中观察到这一点。
输出:
在上面的例子中,你可以看到原始列表和复制列表的 id 是不同的。因此,对原始列表进行更改不会影响复制的列表。
使用 Python 中的 append()方法复制列表
方法用于向列表中添加一个新元素。当在列表上调用时,它将一个元素作为其输入参数,并将其添加到列表的最后一个位置。
为了使用 python 中的 方法复制一个列表,我们将首先创建一个名为的空列表。之后,我们将使用 for 循环遍历原始列表。在迭代过程中,我们将使用方法将原始列表的每个元素添加到中。
执行 for 循环后,我们将在变量中获得复制的列表。您可以在下面的示例中观察到这一点。
输出:
您可以观察到新列表和原始列表具有不同的标识符,这些标识符是我们使用方法获得的。因此,对其中一个列表的任何更改都不会影响到另一个列表。
使用 Python 中的 extend()方法复制列表
方法用来一次添加多个元素到一个列表中。当在列表上调用时, 方法将 iterable 对象作为其输入参数。执行后,它将输入 iterable 对象的所有元素追加到列表中。
为了使用方法复制一个列表,我们将首先创建一个名为的空列表。之后,我们将调用上的 方法,将原始列表作为其输入参数。执行后,我们将在变量中得到复制的列表。
新列表和原始列表将具有不同的标识符,这些标识符可以使用 方法获得。因此,对其中一个列表的任何更改都不会影响另一个列表。您可以在下面的示例中观察到这一点。
输出:
在 Python 中使用切片复制列表
python 中的切片用于创建列表一部分的副本。切片的一般语法如下。
这里,
- 是执行语句后创建的列表。
- 是给定的输入列表。
- 是必须包含在中的最左边元素的索引。如果我们让为空,默认值为 0,列表从第一个元素开始复制。
- 是必须包含在中的最右边元素的索引。如果我们让为空,默认值就是列表的长度。因此,列表被复制到最后一个元素。
您可以使用切片来复制列表,如下例所示。
输出:
您可以观察到新列表和原始列表具有不同的标识符,这些标识符是我们使用 方法获得的。因此,对其中一个列表的任何更改都不会影响另一个列表。
使用 Python 中的列表理解复制列表
L ist comprehension 用于通过对元素施加一些条件,使用现有列表的元素来创建新列表。列表理解的一般语法如下。
这里,
- 是执行语句后创建的列表。
- 是输入列表。
- 代表现有列表的元素。这个变量用于迭代。
- 是对元素施加的条件。
这里,我们需要使用列表理解来复制一个给定的列表。因此,我们将不使用任何条件。下面是使用 python 中的 list comprehension 在 python 中复制列表的代码。
输出:
您可以观察到新列表和原始列表具有不同的标识符,这些标识符是我们使用 方法获得的。因此,对其中一个列表所做的任何更改都不会影响另一个列表。
使用 Python 中的 Copy()方法复制列表
Python 还为我们提供了在 python 中复制列表的方法。在列表上调用方法时,会返回原始列表的副本。新列表和原始列表将具有不同的标识符,这些标识符可以使用 方法获得。因此,对其中一个列表的任何更改都不会影响另一个列表。您可以在下面的示例中观察到这一点。
输出:
在 python 中复制列表的列表与复制列表不同。例如,让我们使用方法复制 python 中的列表列表。
输出:
这里,您可以看到原始列表和复制列表的 id 是不同的。这意味着两个列表是不同的 python 对象。尽管如此,当我们对原始列表进行任何修改时,它都会反映在修改后的列表中。您可以在下面的示例中观察到这一点。
输出:
这种情况是没有根据的。这是由于内存中列表的存储模式造成的。列表列表包含对内部列表的引用。
当我们使用方法复制一个列表列表时,列表列表以及内部列表的引用也被复制。因此,不会复制内部列表,只会复制对内部列表的引用。因此,当我们对原始列表中的任何内部列表进行更改时,它也会反映在复制的列表中。
为了避免这种情况,我们可以迭代地复制列表列表的元素。
使用 Python 中的 append()方法复制列表列表
要使用 python 中的 方法复制列表列表,我们将使用以下步骤。
- 首先,我们将创建一个名为的空列表。
- 之后,我们将使用 for 循环遍历列表列表。对于列表列表中的每个内部列表,我们将执行以下任务。
- 首先,我们将创建一个名为的空列表。之后,我们将使用另一个 for 循环迭代内部列表的元素。
- 迭代时,我们将使用方法将当前内部列表的元素追加到中。当在上被调用时,方法将从内部列表中获取一个元素作为输入参数,并将它附加到。
- 遍历完当前内部列表的每个元素后,我们将把追加到。之后,我们将移动到下一个内部列表,并重复前面的步骤。
一旦我们遍历了输入列表的所有内部列表,我们将在变量中获得列表的复制列表。您可以在下面的示例中观察到这一点。
输出:
迭代复制列表元素后,您可以看到原始列表中的修改不会影响复制的列表。
使用 Python 中的 extend()方法复制列表列表
除了使用方法,我们还可以使用方法来复制 python 中的列表列表。为此,我们将使用以下步骤。
- 首先,我们将创建一个名为的空列表。
- 之后,我们将使用 for 循环遍历列表列表。对于列表列表中的每个内部列表,我们将执行以下任务。
- 首先,我们将创建一个名为的空列表。之后,我们将调用上的 方法,并将内部列表作为其输入参数。
- 然后,我们将把 temp 追加到中。之后,我们将进入下一个内部列表。
一旦我们遍历了输入列表的所有内部列表,我们将在变量中获得列表的复制列表。您可以在下面的示例中观察到这一点。
输出:
使用 Python 中的 Copy()方法复制列表列表
我们还可以使用方法在 python 中复制一个列表列表。为此,我们将使用以下步骤。
- 首先,我们将创建一个名为的空列表。
- 之后,我们将使用 for 循环遍历列表列表。对于列表列表中的每个内部列表,我们将执行以下任务。
- 我们将调用内部列表上的方法。我们将把 方法的输出分配给一个变量。
- 然后,我们将把 temp 追加到中。之后,我们将进入下一个内部列表。
一旦我们遍历了输入列表的所有内部列表,我们将在变量中获得列表的复制列表。您可以在下面的示例中观察到这一点。
输出:
使用 Python 中的复制模块复制列表列表
模块为我们提供了方法,通过它我们可以复制嵌套的对象。方法将 python 对象作为输入参数,递归地复制输入对象的所有元素。
我们可以使用下面的例子所示的方法在 python 中复制一个列表列表。
输出:
您可以观察到新列表和原始列表具有不同的标识符,这些标识符是我们使用 方法获得的。因此,对一个列表的任何更改都不会影响另一个列表。
在本文中,我们讨论了用 python 复制列表的不同方法。我们还研究了用 python 复制列表列表的不同方法。
要了解更多关于 python 编程的知识,你可以阅读这篇关于如何在 python 中检查排序列表的文章。您可能也会喜欢这篇关于如何用 python 将字典保存到文件中的文章。
我希望你喜欢阅读这篇文章。请继续关注更多内容丰富的文章。
快乐学习!
原文:https://www.pythonforbeginners.com/dictionary/copy-dictionary-in-python
在编程时,可能会有我们需要精确复制字典的情况。在本文中,我们将研究用 python 复制字典的不同方法,并将实现这些方法。
我们可以通过遍历字典并将当前字典的条目添加到新字典中来创建一个 python 字典的副本。对于这个任务,我们可以使用 keys()方法首先获得字典中的键列表,然后我们可以将键和值对插入到另一个字典中。这可以如下进行。
输出:
当使用上述方法复制字典时,对字典中对象的引用被复制。因此,如果字典中有可变对象,并且我们对复制的字典进行了任何更改,那么这种更改将反映在原始字典中。如果我们有一个嵌套的字典,当我们在任何内部字典中进行更改时,该更改将会反映在复制的和原始的字典中。这可以从下面的例子中看出。
输出:
当我们使用 list comprehension 来复制列表时,以类似的方式,我们可以使用字典理解来复制 python 中的字典,如下所示。
输出:
同样,复制的字典引用原始字典中的对象,当我们有一个嵌套字典并且我们对内部字典进行任何更改时,这些更改将在原始和复制的字典中反映出来。这可以从下面的例子中看出。
输出:
我们可以使用 dict.copy()方法来复制字典。在字典上调用 dict.copy()方法时,会返回原始字典的浅层副本。我们可以使用 dict.copy()复制字典,如下所示。
输出:
由于所创建的字典副本是浅层副本,所以新字典具有对原始字典的对象的引用。当我们在任一字典中对任何具有原始数据类型的键值对进行更改时,该更改不会显示在另一个字典中,但是当字典的值中包含可变对象时,在原始和复制的字典中都可以看到更改。例如,如果我们使用 dict.copy()方法复制了一个嵌套字典,并对复制的字典中的嵌套字典进行了更改,这些更改将在原始字典中可见。同样,当我们对原始字典进行更改时,它会反映在复制的字典中。这可以从下面的例子中看出。
输出:
创建字典浅层副本的另一种方法是使用 copy 模块中的 copy()方法。我们将要复制的字典作为参数传递给 copy.copy()方法,它创建作为参数传递的字典的浅层副本,并返回对它的引用。这可以如下进行。
输出:
使用 copy.copy()方法创建的字典与使用 dict.copy()方法创建的字典工作方式相似。因此,如果存在嵌套字典,并且我们对任何内部字典进行了更改,则更改将会反映在复制的和原始的字典中。这可以从下面的例子中看出。
输出:
要创建一个不引用原始字典中对象的字典副本,我们可以使用复制模块中的 deepcopy()方法,如下所示。
输出:
deepcopy()方法递归地访问字典中的所有对象,并为每个元素创建一个新对象。当我们使用 copy.deepcopy()方法复制字典时,没有引用被复制。当我们对复制的字典中的对象进行任何更改时,即使它是一个嵌套字典,也不会对原始字典进行任何更改。类似地,当我们对原始字典进行更改时,这些更改不会反映在复制的字典中。这可以从下面的例子中看出。
输出:
在本文中,我们看到了用 python 复制字典的不同方法。我们还看到,dict.copy()和 copy.copy()方法创建一个复制的字典,它引用原始字典的对象,而我们可以使用 copy.deepcopy()方法创建一个复制的字典,它不引用原始字典中的元素。请继续关注更多内容丰富的文章。
原文:https://www.pythonforbeginners.com/data-types/copy-in-python
在 python 程序中,很多时候我们需要现有数据的相同副本。对于像 int、float、boolean 值或 string 这样的简单数据类型,赋值操作为我们完成了任务,因为它们是不可变的数据类型。复制之后,当我们对任何具有不可变数据类型的变量进行任何更改时,会创建一个新的数据实例,并且它们不会影响原始数据。在可变数据类型的情况下,如 list 或 dictionary,如果我们使用赋值操作符将数据复制到另一个变量,两个变量都引用同一个数据对象,如果我们对任何一个变量进行更改,对象也会发生变化,反映出对两个变量的影响。在本文中,我们将通过例子来理解 python 中复制的概念。
为了说明 python 中复制的概念,我们需要知道对象的对象 ID。对于这个任务,我们将使用函数。该函数将变量名作为输入,并返回对象的唯一 id。从下面的例子可以看出这一点。
输出:
当我们试图通过使用=操作符将一个变量赋给另一个变量来复制一个对象时,它不会创建一个新的对象,但是两个变量都被赋给了同一个对象。
例如,如果我们有一个名为 var1 的变量引用一个对象,我们通过语句将 var1 赋给 var2,这两个变量指向同一个对象,因此将具有相同的 ID。这可以看如下。
输出:
对于不可变对象,当我们改变赋给 var1 或 var2 中任何一个的值时,就会为新赋给该变量的值创建一个新对象。因此,如果我们更改分配给 var2 的值,将创建一个新对象,在重新分配后,var1 和 var2 将引用具有不同对象 ID 的对象。这可以这样理解。
输出:
与上面不同的是,如果我们复制像列表这样的可变对象,在使用任何变量重新分配和修改导致同一个对象发生变化之后,它们指向同一个对象。这可以看如下。
输出:
在上面的输出中,我们可以看到,当我们使用赋值操作符复制 list 时,变量 list1 和 list2 引用同一个对象并具有相同的 ID。当我们对任何列表进行更改时,这不会改变。
对于复制像列表或字典这样的可变对象,我们使用方法。
当在任何对象上调用时,方法创建一个新的对象,其数据与原始对象相同,并返回对它的引用。这意味着当我们使用方法而不是=操作符复制对象时,原始对象和复制对象的地址是不同的。
例如,如果我们使用方法将 list1 复制到 list2,那么 list1 和 list2 将引用不同的对象。这可以看如下。
输出:
在输出中,可以看到 list2 与 list1 具有不同的对象 ID。如果我们修改 list1 中的任何值,都不会导致 list2 发生任何变化,而当我们使用= operator 将一个对象复制到另一个对象时,情况就不同了。
在本文中,我们研究了如何在 python 中复制可变和不可变对象。对于不可变对象,我们可以使用= operator,因为在每次重新分配时,都会为不可变对象创建一个新对象。在像 python dictionary 这样的可变对象的情况下,我们应该使用方法来复制像列表或字典这样的对象,以避免程序中不必要的错误。我们还可以使用 python try except 编写本文中使用的程序,以使程序更加健壮,并以系统的方式处理错误。请继续关注更多内容丰富的文章。
到此这篇list转字符串(list转为字符串中间逗号隔开)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/41343.html