一、split方法分割字符串
将字符串按照指定字符分隔为多个元素,再将元素逐一转换为字典的键值对
str1 = 'name=Tom,age=20,gender=male' dict1 = {} lst1 = str1.split(',') for item in lst1: temp = item.split('=') dict1[temp[0]] = temp[1] print(dict1) # 输出:{'name': 'Tom', 'age': '20', 'gender': 'male'}
使用split方法先将字符串按照逗号’,’进行切分,得到一个存储元素的列表lst1。再遍历这个列表,用等号’=’将每个元素分割成2个字符串,分别作为字典的键和值并存储起来。
二、eval方法求值
将字符串转化为Python表达式,并执行这个表达式得到字典类型的结果
str2 = "{'name': 'Jerry', 'age': 18, 'gender': 'male'}" dict2 = eval(str2) print(dict2) # 输出:{'name': 'Jerry', 'age': 18, 'gender': 'male'}
将字符串str2以花括号括起来表示一个字典,使用eval方法将这个字符串转化为Python表达式并计算,得到一个字典类型的结果。
三、json库解析
使用Python中的json库,将json格式的字符串转化为字典
import json str3 = '{"name": "Lucy", "age": 25, "gender": "female"}' dict3 = json.loads(str3) print(dict3) # 输出:{'name': 'Lucy', 'age': 25, 'gender': 'female'}
将字符串str3作为参数传入json.loads方法,得到一个字典类型的结果。需要注意的是,json格式要求使用双引号表示字符串的引号,因此在str3中需要使用双引号进行表示。
四、字典推导式生成字典
使用Python中的字典推导式,以列表中的字符串为元素,对其进行处理得到字典类型的结果
lst4 = ['name=Jack', 'age=30', 'gender=male'] dict4 = {item.split('=')[0]: item.split('=')[1] for item in lst4} print(dict4) # 输出:{'name': 'Jack', 'age': '30', 'gender': 'male'}
使用列表lst4中的每个元素作为字符串,使用split方法将这个字符串按照等号’=’切分,得到2个字符串。然后使用字典推导式将键值对组成字典dict4。
五、re正则表达式解析字符串
使用Python中的re模块,通过匹配正则表达式将字符串解析成字典
import re str5 = 'name=Tom,age=20,gender=male' dict5 = {} lst5 = re.findall(r'(\w+)=(\w+)', str5) for item in lst5: dict5[item[0]] = item[1] print(dict5) # 输出:{'name': 'Tom', 'age': '20', 'gender': 'male'}
使用re模块中的findall方法,按照正则表达式'(\w+)=(\w+)’从字符串str5中匹配所有符合模式的字符串,得到一个列表lst5。再遍历列表lst5,将每个元素分别作为字典的键值对进行存储。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/285085.html