一、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/zh-tw/n/285085.html