我有一个元组,例如('key1', 'value1')
,我想将其添加到字典中,所以它像{'key1': 'value1'}
,但不做类似dictionary[t[0]] = t[1]
的事情。
上下文如下,我有一个类似的重复规则:
FREQ=WEEKLY;UNTIL=20120620T233000Z;INTERVAL=2;BYDAY=WE,TH
我想要一个像这样的字典:
recurrence = {
'freq' : 'weekly',
'until' : '20120620T233000Z',
'interval' : '2',
'byday' : 'we,th'
}
我正在做这样的事情:
for rule in recurrence.split(';'):
r = rule.split('=')
rules[r[0]] = r[1]
我一点也不喜欢。有没有更Python化的方式来做到这一点?
最佳答案
使用理解:
rules.update(rule.split('=', 1) for rule in recurrence.split(';'))
如果dict
rules
已经存在,则为0。否则使用rules = dict(rule.split('=', 1) for rule in recurrence.split(';'))
这是可行的,因为
dict
构造函数和dict.update
都接受产生键/值对的迭代器。关于python - 将2值元组添加到dict作为键:value,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11000616/