我想要像这样转换一个字符串:
'word1-3,word2-4,word3-1,word4-2'
进入这样的字典:
{'word1': 3 , 'word2': 4 , 'word3' : 1 , 'word4' : 2}
我该怎么办?
答案 0 :(得分:3)
如果" - "和","字符只用作分隔符,那么你可以试试这样的东西:
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'}
答案 1 :(得分:0)
我猜你的意思是如何使用代码实现这一点,因为在大多数情况下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将按要求提供。