我想打開一個像這樣的字符串: 'word1-3,word2-4,word3-1,word4-2'
將特殊字符串格式轉換爲字典?
到這樣一個字典: {'word1': 3 , 'word2': 4 , 'word3' : 1 , 'word4' : 2}
我該怎麼辦呢?
我想打開一個像這樣的字符串: 'word1-3,word2-4,word3-1,word4-2'
將特殊字符串格式轉換爲字典?
到這樣一個字典: {'word1': 3 , 'word2': 4 , 'word3' : 1 , 'word4' : 2}
我該怎麼辦呢?
如果「 - 」和「」字符僅作爲分隔符,那麼你可以嘗試這樣的事:
s = 'word1-3,word2-4,word3-1,word4-2'
d = dict(item.split('-') for item in s.split(','))
print(d) # >> {'word4': '2', 'word1': '3', 'word3': '1', 'word2': '4'}
或使用字典解析並將值轉換爲整數:
s = 'word1-3,word2-4,word3-1,word4-2'
d = {pair[0]:int(pair[1]) for pair in [item.split('-') for item in s.split(',')]}
print(d) # >> {'word4': '2', 'word1': '3', 'word3': '1', 'word2': '4'}
我猜你的意思是如何用代碼實現這一點,因爲在大多數情況下,python字符串無法完成此操作。
#import split from the re library
from re import split
#your example string
some_string = 'word1-3,word2-4,word3-1,word4-2'
#this will hold our values while we iterate through it
output_dict = {}
#split the some_string into a list of key value strings
for key_val_pair in split(r',', some_string):
#split the key value pair into a key and value
key_val_split = split(r'\-', key_val_pair)
#append the value to the dict, indexed by the key
output_dict[key_val_split[0]] = key_val_split[1]
output_dict將按照要求。
您好,Kosar,歡迎來到StackOveflow。請熟悉[問]的準則。一般來說,你想提供證據表明你已經完成了*某件事*來嘗試自己解決這個問題。被認爲是「給我codez」類型的問題將會收到很差。 –