Python convert a list to String
正常情况如果list由字串类型,一般可以用下面这种方法
a_list = ["1", "2", "3"]
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转字串定义如下:
def list_to_str(a_list):
return "".join(list(map(str, a_list)))
我们知道:Python中的list中的元素类型可以不同,各种混搭,甚至可以list,如果要兼容更复杂的情况,该如何写?
def str_to_list(t_str):
a_list = []
for c in str(t_str):
a_list.append(c)
return a_list
def list_to_str(a_list):
return "".join(list(map(str, a_list)))
if __name__ == "__main__":
a_list = ["1", "2", "3"]
b_list = [1, 2, 3]
c_list = [1, True, a_list]
t_str = "123"
s_str = 123
print(list_to_str(a_list))
print(list_to_str(b_list))
print(str_to_list(t_str))
print(str_to_list(s_str))
还没有评论,来说两句吧...