python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python列表转字符串

如何将Python列表转换为字符串

作者:迈向Python

字符串是Python中最常用的数据类型,下面这篇文章主要给大家介绍了关于如何将Python列表转换为字符串的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

在这个简短的教程中,我会介绍将python列表转换为字符串的不同方法。

为什么要将python列表转换为字符串?

将python列表转换为字符串是一种常见的情况,尽管我遇到的最常见的用例是将一个iterable转换为一个字符串,以便可以显示它。Python为我们提供了多种将python列表转换为字符串的方法,这些方法没有特定的比较限制,因此只能归结为程序员对方法的理解和满意。

顺便说一句,如果你是初学者,我将推荐此解决方案。但是,如果你有兴趣学习它们,请随时阅读所有它们。

将python列表转换为字符串的方法

使用join():

将python列表转换为字符串的最常见和pythonic方法是使用join()方法。实际上,join()存在促进相同的方法。它接受可迭代对象,将它们加入并以字符串形式返回。但是,iterable中的值应为string数据类型,并且如果你包含iterable int,则可以使用第二种方法。

Join()的语法:

string.join(iterable)

这里string指的是所需的分隔符

范围:

iterable -任何可迭代的-列表,元组,集合等

使用join()将python列表转换为字符串的代码:

flexiple = ["Hire", "the", "top", "freelancers"]
 
print(" ".join(flexiple))

由于分隔符是一个空格(“),因此字符串包含列表中的字符,这些字符之间用字符串分隔。

如前所述,尝试join在包含的可迭代对象上使用int会返回typeerror。下一个解决方案将向你展示如何绕过此操作。

flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
 
print(" ".join(flexiple))

使用join()和map():

此方法map()也可以使用将python列表转换为字符串的方法,join()但是当你处理的可迭代对象包含int值时,可以使用此方法。由于这些join()方法仅接受字符串值,因此在将python列表转换为字符串之前,我们使用map()来将这些int值转换为字符串。这些map()方法对Iterable中的所有值执行特定的功能。

map()的语法:

map(function, iterables)

范围:

function -你希望执行的特定功能

iterable -包含值的可迭代对象

因此,通过传递str()将对象转换为字符串的函数,我们可以转换int值,然后将它们连接为字符串。

使用map()将python列表转换为字符串的代码:

flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
 
print(" ".join(map(str,flexiple)))
 

使用循环:

将python列表转换为字符串的第三种方法是编写一个循环,并将每次迭代添加到字符串中。我建议这种方法的情况下,你是新来的Python和不熟悉的概念,如join(),map()等的代码可能会更长,但是这将是一个初学者更具有可读性。

flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
 
f1 = ""
 
for i in flexiple:
    f1 += str(i)+ " " 
 
print(f1)

补充:python列表转字符串的一个小技巧

列表转字段这听起来应该很简单吧,比如下面的例子:

a = ['aa','bb','cc']
b = ''.join(a)
print(b)  # 'aabbcc'

但是当列表中有非字符串时,大概率会报错了。因为join是将字符串拼接。

那应该怎么办呢?

可以利用map函数,将列表中的数字转为字符串。

a = [1,2,3]
b = map(str, a)  
c = ''.join(b)
print(c) # '123'

普及一下map函数:

map(func,iterable)

接收一个函数和一个可迭代对象,将这个函数作用于可迭代对象的每个元素,生成一个符合函数规则的新列表。func可以是python内置函数类型,也可自定义(一般用lambda函数表示)

a = map(lambda x: x +1, [1, 2, 3, 4, 5])   
print(a)   #[2,3,4,5,6]
 
 
b = map(str, [1,2,3])
print(b)    #['1','2','3']

总结想法和建议

将python列表转换为字符串很可能不是一次性过程,最佳实践是定义一个返回输出的函数。就像我提到的那样,可以用来衡量的并没有明显的限制,你可以根据自己对主题的舒适度来选择一种方法。一旦你对使用它们感到满意,请尝试以列表理解的方式实现它们。

到此这篇关于如何将Python列表转换为字符串的文章就介绍到这了,更多相关Python列表转字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文