如何在Python 中使用 join() 函数把列表拼接成一个字符串
内容概要:如何把列表中的元素拼接为一个字符串呢?本文介绍了采用 join() 函数的解决方法。
问题:有一个列表,比如:letters=[‘a’,‘b’,‘c’],想要把列表的元素连续显示出来,应该怎么办?
解决办法:
1.设置 end=’’
如何使Python中的print()语句运行结果不换行 的方法,设置 end=’’。
如下代码所示:
letters=['a','b','c'] for letter in letters: print(letter,end='')
运行结果为:
abc
2.拼接字符串(string)
把列表中的元素拼接为一个字符串(string
),然后显示字符串。
这里用到了一个神奇的函数:join() ,它可以把列表拼接转换成一个字符串,用法为:字符串=‘分隔符’.join(列表)。
如下代码所示:
letters_str=''.join(letters) print(letters_str)
运行结果为:
abc
另一种情况也适合用 join() 函数:比如有一个词汇构成的列表,需要把这几个词汇组成一个短语。可以把分隔符设置为空格符,用' '.join()实现组合。
代码示例如下:
words=['practice','makes','perfect'] phrase=' '.join(words) print(phrase)
运行结果为:
practice makes perfect
不仅如此,我们还可以在 join() 函数内调用其它函数,如大小写转换、类型转换等,从而一次实现多个功能。这就要通过在 join() 函数中使用 list comprehension
(列表推导式)来实现,即:join(function(e) for e in list)
。
3.举例
(1)比如,列表中的字符既有大写,又有小写。想在拼接的同时,把字符都转换为大写,应该怎么做呢?
方法:在 join() 函数中加入大小写转换的函数 upper()。
代码示例如下:
letters=['a','ab','ac','D'] lettersStr=''.join(e.upper()for e in letters) print(lettersStr)
运行结果为:
AABACD
(2)前面提到,join() 函数是把列表的元素拼接为字符串。因此,列表中的元素需要是 string(字符串)类型。如果是一个数字列表,可以使用 join() 函数吗?
可以。只要在join()
函数中加入类型转换,将数字转换为 string
型即可。
代码示例如下:
nums=[1,2,3.6] numsStr=''.join(str(e) for e in nums) print(numsStr)
运行结果为:
123.6
(3)除了用 Python
的函数,我们还可以应用自定义的函数。
比如,下面的代码先定义了一个convert()
函数,如果字母是 a 或 A,那么保持不变;其它字母则转换为小写。然后,在 join() 函数中应用 convert() 函数。
def convert(letter): if letter.lower()=='a': return letter else: return letter.lower() letters=['a','B','A','C'] lettersStr=''.join(convert(e)for e in letters) print(lettersStr)
运行结果为:
abAc
参考文章:
上一篇:Python字符串通过'+'和join函数拼接新字符串的性能测试比较
栏 目:Python代码
本文标题:如何在Python 中使用 join() 函数把列表拼接成一个字符串
本文地址:http://www.codeinn.net/misctech/216788.html