Python 将字符串列表转换为逗号分隔的字符串
Python来源于许多其他语言,包括ABC,Modula-3,C,C ++,Algol-68,SmallTalk和UnixShell以及许多其他脚本语言。
现在,我们知道本文的重点是将字符串列表转换为逗号分隔的字符串。在深入探讨之前,有必要详细了解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对象类似于文件对象,但它用于在内存中处理文本。在Python 2中,可以直接导入StringIO模块来使用。在Python 3中,它被保存在io模块中。
示例
为了将列表作为CSV文件中的逗号分隔行写入StringIO对象,我们可以使用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()函数中使用unpack操作符。unpack操作符*将可迭代对象的所有元素解包,并通过print()函数中的file参数将它们保存在StringIO对象中。
示例
创建一个包含值8、9、4和1的列表。然后创建一个StringIO对象String_io,使字符串可以被当作文件来处理。使用file=String_io、sep=’,’和end=”将列表打印为一个StringIO对象。这样可以通过逗号将列表中的每个元素分隔开,并且不在行末添加新的行或字符。使用getvalue()方法获取存储在string_io中的字符串,并将其存储在名为”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
结论
在本文中,我们讨论了将字符串列表转换为逗号分隔字符串的不同方法。