我有一个元组,就像('key1', 'value1')我要将它添加到字典中所以它就像是{'key1': 'value1'}但没有做类似的事情dictionary[t[0]] = t[1].
上下文如下,我有一个重复规则,如下所示:
FREQ=WEEKLY;UNTIL=20120620T233000Z;INTERVAL=2;BYDAY=WE,TH
Run Code Online (Sandbox Code Playgroud)
我希望有一个像这样的字典:
recurrence = {
'freq' : 'weekly',
'until' : '20120620T233000Z',
'interval' : '2',
'byday' : 'we,th'
}
Run Code Online (Sandbox Code Playgroud)
而我正在做这样的事情:
for rule in recurrence.split(';'):
r = rule.split('=')
rules[r[0]] = r[1]
Run Code Online (Sandbox Code Playgroud)
而且我根本不喜欢它.有更多的pythonic方式吗?
使用理解:
rules.update(rule.split('=', 1) for rule in recurrence.split(';'))
Run Code Online (Sandbox Code Playgroud)
这是因为dict rules已经存在; 否则使用
rules = dict(rule.split('=', 1) for rule in recurrence.split(';'))
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为dict构造函数和dict.update都接受一个产生键/值对的迭代器.
| 归档时间: |
|
| 查看次数: |
10372 次 |
| 最近记录: |