Python中将List列表转换为字符串的三种方法


在 python 中将列表转换为字符串是一种常见的做法。将列表转换为字符串的一个最常见的用例是将列表的内容显示为字符串或进行字符串操作。

在python中,有多种方法可以将列表转换为字符串。这些方法在比较上没有任何特定的限制,因此归结为程序员对特定方法的理解和偏爱。

1、使用 join():
将列表转换为字符串的最pythonic方式是使用 join() 方法。join() 方法正是用来促进这一目的的。

它接收迭代表,将它们连接起来,并将它们作为字符串返回。然而,迭代器中的值应该是字符串的数据类型。

如果你的iterable包含int,你可以使用第二个方法。

1、join()的语法:

string.join(iterable)

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

参数:

  • Iterable - 任何可迭代的东西 - 列表、图元、集合,等等。

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

flexiple = ["Hire", "the", "top", "freelancers"]

print(
" ".join(flexiple))

Output -
"Hire the top freelancers"

在上面的代码中,分隔符是一个空格(" "),因此返回一个包含列表中由空格分隔的字符的字符串。

如前所述,让我们尝试对一个包含int的迭代器使用join()。它将返回一个类型错误。

flexiple = ["Hire", "the", "top", 10, "python","freelancers"]

print(
" ".join(flexiple))

Output - TypeError: sequence item 3: expected str instance, int found

2、使用 join() 和 map() :
这个方法在 python 中使用 map() 和 join() 函数将列表转换为字符串。这个方法是在迭代器(在我们的例子中是一个列表)包含一个整数值时使用。

由于 join() 方法只接受字符串值,我们使用 map() 方法将整数值转换为字符串,然后再将列表转换为字符串。

map()方法对迭代器中的所有值执行一个特定的函数。而在我们的例子中,我们用它来将列表中的每个值转换为字符串。

语法:

map(function, iterables)

参数:

  • function - 你希望执行的特定函数
  • Iterable - 一个包含数值的可迭代对象

通过使用将对象转换为字符串的str()函数,我们可以在使用join方法之前将int值转换为一个字符串。

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

flexiple = ["Hire", "the", "top", 10, "python","freelancers"]

print(
" ".join(map(str,flexiple)))

Output -
"Hire the top 10 python freelancers"

3、在python中使用循环将列表转换为字符串:
在 python 中将列表转换为字符串的第三种方法是对每个对象进行循环,并将其追加为一个字符串。我不建议使用这种方法,因为每次追加对象时 python 都会创建一个新的字符串。

这种方法很慢,只能用来帮助理解在 python 中将列表转换为字符串的概念。

flexiple = ["Hire", "the", "top", 10, "python","freelancers"]

f1 =
""

for i in flexiple:
    f1 += str(i)+
" " 

print(f1)

Output =
"Hire the top 10 python freelancers "

总结:
在python中把列表转换为字符串很可能不是一个一次性的过程,最好的做法是定义一个函数来返回输出。

而且如前所述,并没有明显的限制,可以用来权衡它们之间的关系。然而,它们确实迎合了不同的使用情况。

方法1可以在你确信你不会处理任何整数值的情况下使用。方法2如果你不确定或在你的列表中有整数值。而最后一种方法只是为了让你了解在Python中把列表转换为字符串。

一旦你能熟练使用它们,就可以尝试用列表理解来实现同样的功能。