我有數據從它返回的字典,看起來像這樣的列表的數據庫來:轉換冒號分隔字符串列表 - 字典列表中...(Python)的
products = [{'product': 'car', 'colour': 'blue', 'properties': 'stereo;aircon;magwheels'},
{'product': 'bus', 'colour': 'red', 'properties': 'microphone;aircon;dvd'},
{'product': 'motorbike', 'colour': 'black', 'properties': None}]
之前它被傳遞的應用程序中使用,我想冒號分隔字符串轉換到一個列表,這樣的結果會是這樣:
[{'product': 'car', 'colour': 'blue', 'properties': ['stereo', 'aircon', 'magwheels']},
{'product': 'bus', 'colour': 'red', 'properties': ['microphone', 'aircon', 'dvd']},
{'product': 'motorbike', 'colour': 'black', 'properties': None}]
我目前通過遍歷所有的項目在做列表,並應用以下邏輯:
for product in products:
if product['properties'] is not None:
product['properties'] = product['properties'].split(';')
我要爲字典中的5個按鍵做到這一點,所以基本上我重複這個邏輯5次,一次爲每個關鍵,就像這樣:
for product in products:
if product['properties'] is not None:
product['properties'] = product['properties'].split(';')
if product['blah'] is not None:
product['blah'] = product['blah'].split(';')
if product['foo'] is not None:
product['foo'] = product['foo'].split(';')
什麼是更好的方式做這個?
爲了澄清,需要此處理的密鑰是一個已知的集合。我無法在所有鍵上運行分割,因爲存在a;可以合法地存在這些密鑰。 – causticsoda