Python convert a list to String

来源:互联网 发布:松下多功能机软件 编辑:程序博客网 时间:2024/05/17 23:33

正常情况如果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_listdef 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))