Python convert a list to String

梦里梦外; 2022-06-03 04:41 285阅读 0赞

正常情况如果list由字串类型,一般可以用下面这种方法

  1. a_list = ["1", "2", "3"]
  2. print("".join(a_list))

发散一下,如果list是数字型,那么上面这种方式就会报错:

Traceback (most recent call last):
File “D:/work/PyCharm/cn/com/icbc/basic/list_to_str.py”, line 5, in
print(“”.join(b_list))
TypeError: sequence item 0: expected str instance, int found

所以,我们通过map函数传入一个函数str,将数字转为字串,因此新的list转字串定义如下:

  1. def list_to_str(a_list):
  2. return "".join(list(map(str, a_list)))

我们知道:Python中的list中的元素类型可以不同,各种混搭,甚至可以list,如果要兼容更复杂的情况,该如何写?

  1. def str_to_list(t_str):
  2. a_list = []
  3. for c in str(t_str):
  4. a_list.append(c)
  5. return a_list
  6. def list_to_str(a_list):
  7. return "".join(list(map(str, a_list)))
  8. if __name__ == "__main__":
  9. a_list = ["1", "2", "3"]
  10. b_list = [1, 2, 3]
  11. c_list = [1, True, a_list]
  12. t_str = "123"
  13. s_str = 123
  14. print(list_to_str(a_list))
  15. print(list_to_str(b_list))
  16. print(str_to_list(t_str))
  17. print(str_to_list(s_str))

发表评论

表情:
评论列表 (有 0 条评论,285人围观)

还没有评论,来说两句吧...

相关阅读