有一个字符串:
strVal = "'zhang':'123'|'li':'456'|'zhao':'789'"
编写程序,处理该字符串,构造出字典如下:
dictVal = {'zhang':'123', 'li':'456','zhao':'789'}
并分行打印该字典对象的所有键值对,如下:
'zhang':'123'
'li':'456'
'zhao':'789'
strVal = "'zhang':'123'|'li':'456'|'zhao':'789'"
dictVal = {i.split(':')[0]:i.split(':')[1] for i in strVal.split('|')}
for i, j in dictVal.items():
print(f'{i}:{j}')
用exec()内置函数一行搞定:
strVal = "'zhang':'123'|'li':'456'|'zhao':'789'"
exec('dictVal={'+strVal.replace('|',',')+'}')
for i, j in dictVal.items():
print(f"'{i}':'{j}'")
OUT:
'zhang':'123'
'li':'456'
'zhao':'789'
有帮助请采纳
strVal = "'zhang':'123'|'li':'456'|'zhao':'789'"
def strTodict(s):
return dict([item.split(":") for item in s.split("|")])
dictVal = strTodict(strVal)
for key, val in dictVal.items():
print("{}:{}".format(key, val))
运行结果如下: