假设我有以下代码:
new_dict = {}
text = "Yes: No Maybe: So"
我想将字符串拆分为 2 个字典元素,如下所示:
new_dict = {'Yes':'No', 'Maybe':'So'}
我尝试以相同的方式将字符串拆分为一个列表,以简要了解如何执行此操作,但我没有取得太大的成功。
假设我有以下代码:
new_dict = {}
text = "Yes: No Maybe: So"
我想将字符串拆分为 2 个字典元素,如下所示:
new_dict = {'Yes':'No', 'Maybe':'So'}
我尝试以相同的方式将字符串拆分为一个列表,以简要了解如何执行此操作,但我没有取得太大的成功。
text = "Yes: No Maybe: So"
words = [w.rstrip(':') for w in text.split()]
new_dict = dict(zip(words[::2], words[1::2]))
如果每个冒号后跟一个空格,str.split()
则对您来说很好:
tokens = (s.rstrip(":") for s in text.split())
new_dict = dict(zip(tokens, tokens))
>>> import re
>>> text = "Yes: No Maybe: So"
>>> dict(re.findall(r'(\w+): (\w+)', text))
{'Maybe': 'So', 'Yes': 'No'}
或更高效:
>>> dict(m.groups() for m in re.finditer(r'(\w+): (\w+)', text))
{'Maybe': 'So', 'Yes': 'No'}