Python连接列表
Python的join方法指的是将一个字符串列表通过指定的分隔符拼接成一个字符串。有时在需要将列表转换为字符串的情况下非常有用。例如,将一个字母列表转换为逗号分隔的字符串以保存在文件中。
Python连接列表
我们可以使用Python的字符串join()函数来连接一组字符串。这个函数接受一个可迭代对象作为参数,而列表是一个可迭代对象,所以我们可以将它用于列表。同时,列表应该包含字符串,如果你试图连接一个整数列表,你将会得到一个错误信息,例如:TypeError: sequence item 0: expected str instance, int found。让我们看一个简短的例子来演示如何使用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()函数可以与任何可迭代对象一起使用,并且结果始终是一个字符串,因此将该函数放在字符串API中而不是所有可迭代对象类中是有意义的。
加入多种数据类型的列表
让我们来看一个计划,我们将尝试将包含多种数据类型的列表项连接起来。
names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
使用join函数拆分字符串
我们也可以使用join()函数来使用指定的分隔符拆分字符串。
names = 'Python'
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))
使用分割()函数
除了使用join()函数进行拆分外,split()函数也可用于拆分字符串,其工作方式几乎与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))
只分裂n次
我们在上个例子中演示的split()函数还有一个可选的第二个参数,用来指定拆分操作应该执行的次数。以下是一个示例程序来演示它的用法:
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))