如何在 Python 中将元组转换为字符串

目录

Join the elements of a Tuple into a string in Python

  1. 在 Python 中将元组转换为字符串
  2. 处理包含非字符串值的元组
  3. for使用循环将元组转换为字符串
  4. str()使用类将元组转换为字符串

在 Python 中将元组转换为字符串

使用该str.join()方法将元组转换为字符串。

str.join()方法将根据提供的分隔符将元组的元素连接成一个字符串。

主程序
my_tuple = ('bobby', 'hadz', 'com') my_str = ' '.join(my_tuple) print(my_str) # 👉️ bobby hadz com print(', '.join(my_tuple)) # 👉️ bobby, hadz, com print(''.join(my_tuple)) # 👉️ bobbyhadzcom

str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联

处理包含非字符串值的元组

TypeError请注意,如果可迭代对象中有任何非字符串值,该方法将引发 a 。

如果您的元组包含数字或其他类型,请在调用之前将所有值转换为字符串join()

主程序
my_tuple = ('a', 1, 'b', 2, 'c', 3, 'd') my_str = ', '.join(map(str, my_tuple)) print(my_str) # 👉️ 'a, 1, b, 2, c, 3, d'

map ()函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。

在将项目传递给方法之前,我们使用该函数将元组中的每个元素转换为字符串str.join()

使用生成器表达式处理包含非字符串值的元组

使用该map()函数的另一种方法是
使用生成器表达式

主程序
my_tuple = ('a', 1, 'b', 2, 'c', 3, 'd') my_str = ','.join( str(item) for item in my_tuple ) print(my_str) # 👉️ a,1,b,2,c,3,d
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们将值转换为字符串并返回结果。

join()方法用于将生成器对象连接成一个字符串。

调用该方法的字符串join()用作元素之间的分隔符。

主程序
my_tuple = ('bobby', 'hadz', 'com') my_str = '-'.join(my_tuple) print(my_str) # 👉️ 'bobby-hadz-com'

如果需要用空格连接元组的元素,请对包含空格的字符串调用该方法。

主程序
my_tuple = ('bobby', 'hadz', 'com') # 👇️ with space separator my_str = ' '.join(my_tuple) print(my_str) # 👉️ 'bobby hadz com'

如果您不需要分隔符而只想将元组的元素连接到一个字符串中,请join()在空字符串上调用该方法。

主程序
my_tuple = ('bobby', 'hadz', 'com') my_str = ''.join(my_tuple) print(my_str) # 👉️ 'bobbyhadzcom'

str.join()在空字符串上调用该方法时,元组的元素将在没有分隔符的情况下连接。

for使用循环将元组转换为字符串

您还可以使用for循环将元组转换为字符串。

主程序
my_tuple = ('a', 1, 'b', 2, 'c', 3, 'd') my_str = '' for item in my_tuple: my_str += str(item) print(my_str) # 👉️ a1b2c3d

我们声明了一个存储空字符串的新变量,并使用for循环遍历元组的元素。

在每次迭代中,我们重新分配字符串变量,将当前元组项添加到它。

您还可以指定元素之间的分隔符。

主程序
my_tuple = ('a', 1, 'b', 2, 'c', 3, 'd') my_str = '' for item in my_tuple: my_str += str(item) + '_' print(my_str) # 👉️ a_1_b_2_c_3_d_

请注意,在字符串中的最后一个元素之后有一个尾随分隔符。

如果需要删除尾随分隔符,请使用该rstrip()方法

主程序
my_tuple = ('a', 1, 'b', 2, 'c', 3, 'd') my_str = '' separator = '_' for item in my_tuple: my_str += str(item) + separator my_str = my_str.rstrip(separator) print(my_str) # 👉️ a_1_b_2_c_3_d

str.rstrip方法将包含字符字符串作为参数,并返回删除了指定尾随字符的字符串副本。

主程序
my_str = 'bobbyhadz.com' result = my_str.rstrip('ocm.') print(result) # 👉️ 'bobbyhadz'

The method doesn’t change the original string, it returns a new string. Strings
are immutable in Python.

# Convert a Tuple to a String using the str() class

If you simply need to get the string representation of the tuple, use the
str() class.

main.py
my_tuple = ('a', 1, 'b', 2, 'c', 3, 'd') my_str = str(my_tuple) # 👇️ ('a', 1, 'b', 2, 'c', 3, 'd') print(my_str) # 👇️ 'a', 1, 'b', 2, 'c', 3, 'd' print(my_str[1:-1])

The str() class converts the supplied value to a string.

You can then use string slicing
to get a substring that represents specific parts of the tuple.

# Additional Resources

You can learn more about the related topics by checking out the following
tutorials: