用于解析没有逗号的解析的字符串

Joh*_*nen -1 python string parsing dictionary

有一个奇怪的字符串表示

"KEY1:数值1:KEY2:数值2:KEY3:VALUE3 ... keyn:值N"

我需要创建一个dict,当你有逗号时它很容易解决,但是这里只有冒号,你必须每隔一次冒号分割字符串.带有循环或类似内容的代码看起来很难看,所以我想知道你是否可以帮助我使用oneliner.

sch*_*ggl 7

你可以在冒号上拆分,在令牌上 获得迭代器,在自己的迭代器获得迭代zip器.这将很好地配对键和值:

s = 'key1:value1:key2:value2:key3:value3:keyn:valuen'
it = iter(s.split(':'))
dict(zip(it, it))
# {'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'keyn': 'valuen'}
Run Code Online (Sandbox Code Playgroud)