Python程序:将字符串列表转换为逗号分隔的字符串
Python 借鉴了许多其他语言,包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk 和 Unix Shell,以及许多其他脚本语言。
现在,我们知道这篇文章是关于将字符串列表转换为逗号分隔的字符串。在深入研究之前,有必要详细了解 Python 中的字符串和列表。让我们继续讨论这个主题,并详细了解它们。首先是字符串。
什么是字符串?
Python 字符串是字符序列,这意味着它们是有序的字符集合。
"This is a string." 'This is also a string.'
Python 中的字符串是表示 Unicode 字符的字节数组。Python 字符串是“不可变的”,这意味着它们创建后无法更改。这意味着可以访问其内部数据元素(字符),但不能为了输入和输出而替换、插入或删除它们。字符串是一种数据结构。数据结构是由其他几块数据组成的复合单元。字符串是零个或多个字符的序列。
字符串长度是它包含的字符数。Python 的len()函数用于返回字符串的长度。
语法
len(str)
示例
len("WELCOME")
输出
7
每个字符在字符串中占据一个位置。字符串字符的位置从左边的 0 开始编号,到右边的字符串长度减 1 结束。现在,让我们继续讨论列表的主题。
什么是列表?
列表是以特定顺序排列的项目的集合。你可以创建一个包含字母表字母和 0-9 数字的列表。在 Python 中,方括号 ([]) 表示列表,列表中的各个元素用逗号分隔。
示例
bicycles = ['trek', 'Cannondale', 'redline', 'specialized'] print(bicycles)
输出
['trek', 'Cannondale', 'redline', 'specialized']
列表是一个值,它按有序序列包含多个值。术语列表值指的是列表本身(它是一个值,可以像任何其他值一样存储在变量中或传递给函数),而不是列表值内部的值。列表值如下所示:['cat', 'bat', 'rat', 'elephant']。列表内部的值也称为项目。项目用逗号分隔(即,它们是用逗号分隔的)。
在这里,我们将了解如何将字符串更改为逗号分隔的字符串。重要的是要记住,给定的字符串也可以是字符串列表。
将 Python 列表转换为逗号分隔的字符串
当我们将字符串列表转换为逗号分隔的字符串时,结果将是一个字符串,其中列表的每个元素都用逗号分隔。
例如,如果我们将 [“my”, “name”, “is”, “Nikita”] 转换为逗号分隔的字符串,结果将是“my, name, is, Nikita”。
使用 join() 函数
join() 函数组合可迭代组件,并返回一个字符串。必须指定将用于分隔字符串元素的字符。
这里我们应该创建一个逗号分隔的字符串,所以我们将使用逗号作为分隔符。
示例
下面的程序创建一个列表,并使用join() 函数将它们连接成一个逗号分隔的字符串。
List = ["Apple", "Banana", "Mango", "Orange"] String = ', '.join(List) print("List of String:") print(List) print("Comma Separated String:") print(String)
输出
List of String: ['Apple', 'Banana', 'Mango', 'Orange'] Comma Separated String: Apple, Banana, Mango, Orange
上述方法仅适用于字符串列表。
要处理整数列表或其他元素,我们可以使用列表推导和 str() 函数。我们可以使用 for 循环在一行中快速遍历元素,然后使用 str() 函数将每个元素转换为字符串。
示例
在下面的程序中,创建了一个字符串列表并将其存储在变量 List 中。然后通过用逗号作为分隔符连接列表中的每个元素创建一个新的字符串,并将其存储在变量 String 中。
List = ['235', '3754', '856', '964'] String = ', '.join([str(i) for i in List]) print("List of String:") print(List) print("Comma Separated String:") print(String)
输出
List of String: ['235', '3754', '856', '964'] Comma Separated String: 235, 3754, 856, 964
使用map() 函数,我们还可以消除列表推导。通过将 str() 函数应用于列表的每个元素,可以使用 map() 函数将列表的所有元素转换为字符串。
示例
使用map() 函数,我们还可以消除列表推导。通过将 str() 函数应用于列表的每个元素,可以使用 map() 函数将列表的所有元素转换为字符串。
List = ['235', '3754', '856', '964'] String = ', '.join(map(str,List)) print("List of String:") print(List) print("Comma Separated String:") print(String)
输出
List of String: ['235', '3754', '856', '964'] Comma Separated String: 235, 3754, 856, 964
使用 StringIO 模块
StringIO 对象类似于文件对象,但它使用内存中的文本。可以通过使用 StringIO 模块直接在 Python 2 中导入它。它在 Python 3 中保存在 io 模块中。
示例
要将列表作为逗号分隔的行写入 StringIO 对象中的 CSV 文件,我们可以使用csv.writerow() 函数。为此,我们必须首先创建一个 csv.writer 对象。然后,我们可以使用getvalue() 函数将此对象的内容存储在一个字符串中。
import io import csv List = ['235', '3754', '856', '964'] String_io = io.StringIO() w = csv.writer(String_io) w.writerow(List) String = String_io.getvalue() print("List of String:") print(List) print("Comma Separated String:") print(String)
输出
List of String: ['235', '3754', '856', '964'] Comma Separated String: 235,3754,856,964
我们还可以将解包运算符与 print() 函数一起使用。解包运算符 * 将可迭代对象的全部元素解包,并通过 print() 函数中的 file 参数将其保存到 StringIO 对象中。
示例
创建一个值为 8、9、4 和 1 的列表。然后创建一个 StringIO 对象 String_io,允许将字符串视为文件。列表作为 StringIO 对象打印,file=String_io,sep=',' 和 end=''。这将用逗号分隔列表中的每个元素,并且不会在行尾添加换行符或字符。string_io 中存储的字符串通过 getvalue() 方法检索,并存储在名为“String”的变量中。
import io List = [8,9,4,1] String_io = io.StringIO() print(*List, file=String_io, sep=',', end='') String = String_io.getvalue() print("List of String:") print(List) print("Comma Separated String:") print(String)
输出
List of String: [8, 9, 4, 1] Comma Separated String: 8,9,4,1
结论
在本文中,我们讨论了将字符串列表转换为逗号分隔字符串的不同方法。