list和str转换分为两种类型
类型一:将字符串以一定的分割符分割成不同的元素,通过元素组成列表
方法1:利用strip和split函数
常用示例:str转list 数据以列表的形式的字符串,转换为列表
例如 response="[a,b,c]"
str1="[a,b,c]"
print(type(str1))
<class 'str'>
转换为列表,
其中
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
split()方法用于通过指定分隔符对字符串进行切片,切片后生成列表。
方法2,利用JSON中间转化,该方法在 列表字典 类的字符串效果非常好。处理后列表元素是字典。如果用方法1处理后列表元素是以“,”分割的字符串。如下例,使用方法1转换后data[0]是 字符串 {"name": "aaa" 使用方法2转换后为 字典 { "name": "aaa", "num": "11"}
import json
str1="[{
"name": "aaa",
"num": "11"
}, {
"name": "bbb",
"num": "22"
}]"
#将字符串转为json格式
data = json.loads(str1)
print(type(data))
list转换为str
使用join方法
基本使用
<str> = <separator>.join(<list>)
<separator>: 分隔符,为str类型,如','
<list>: 需要进行合并的list对象,其中每个元素必须为str类型
<str>: 返回一个str对象,是将<list>中每个元素按顺序用分隔符<separator>拼接而成
类型二:将字符串整体与列表互相转换
str转list
将str中每个字符作为一个元素
a="abcd"
a = list(a)
print(a)
输出为 ['a', 'b', 'c', 'd']
如果要将整个str作为一个元素则用以下方法,如果要将多个元素添加则先建空列表,然后逐个元素append。
a = "abcd"
a = [a,]
print(a)
输出为['abcd']
list转str
如果列表中的元素有int型,必须先把int转成str,然后在做字符串拼接
lst = [1, 2, 3]
将所有的int转换为str
lst1=list(map(lambda x:str(x),lst))
str1= ''.join(lst)
列表中的所有元素都是字符串
lst = ['a', 'b', 'c', 'd', 'e', 'f','123']
str1 = ''.join(lst)