Python连接列表

时间:2020-02-23 14:42:51  来源:igfitidea点击:

Python连接列表意味着将字符串列表与指定的分隔符连接起来以形成字符串。
有时在将列表转换为字符串时很有用。
例如,将字母列表转换为逗号分隔的字符串以保存在文件中。

Python连接列表

我们可以使用python string join()函数来连接字符串列表。
此函数以" iterable"作为参数,而List是一个互操作变量,因此我们可以将其与List一起使用。

另外,列表中应该包含字符串,如果您尝试加入一个int列表,则会收到一条错误消息,提示为" TypeError:序列项0:预期的str实例,找到int"。

让我们看一个简短的示例,在python中加入列表以创建一个字符串。

vowels = ["a", "e", "i", "o", "u"]

vowelsCSV = ",".join(vowels)

print("Vowels are = ", vowelsCSV)

当我们运行上面的程序时,它将产生以下输出。

Vowels are =  a,e,i,o,u

Python连接两个字符串

我们也可以使用join()函数来连接两个字符串。

message = "Hello ".join("World")

print(message) #prints 'Hello World'

为什么join()函数在String中而不在List中?

许多python开发人员都会想到一个问题,为什么join()函数是String的一部分而不是list的一部分。
下面的语法会更容易记住和使用吗?

vowelsCSV = vowels.join(",")

围绕这个问题,有一个流行的StackOverflow问题,其中我列出了讨论中最有意义的要点。

主要原因是join()函数可以与任何可迭代对象一起使用,并且结果始终是String,因此在String API中具有此函数而不是在所有可迭代类中均具有此功能是有意义的。

多种数据类型的联接列表

让我们看一个程序,在该程序中,我们将尝试加入具有多种数据类型的列表项。

names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

这只是一个演示,它不能使用join()函数将包含多个数据类型的列表合并为单个String。
列表必须仅包含字符串值。

使用连接函数分割字符串

我们也可以使用join()函数来使用指定的分隔符分割字符串。

names = 'Python'
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

这表明将String作为参数传递给join()函数时,它将按字符并使用指定的分隔符将其拆分。

使用split()函数

除了使用join()函数进行拆分外,split()函数还可用于拆分String,其工作方式与join()函数几乎相同。
让我们看一下代码片段:

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter)
print('List: {0}'.format(split))

我们使用相同的定界符再次将String拆分为原始列表。

仅拆分n次

我们在上一个示例中演示的split()函数还采用了可选的第二个参数,该参数表示应执行splot操作的次数。
这是一个示例程序来演示其用法:

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter, 1)
print('List: {0}'.format(split))

这次,分裂操作只执行了一次,正如我们在split()函数参数中提供的那样。