我的代码:
dict( (k,v) if k in ['1','2','3','4'] else (k,None) for k,v in {'1':'one','2':'two'}.items() )
Run Code Online (Sandbox Code Playgroud)
预期产出:
{'1': 'one', '2': 'two', '3':None, '4':None}
Run Code Online (Sandbox Code Playgroud)
实际产量:
{'1': 'one', '2': 'two'}
Run Code Online (Sandbox Code Playgroud)
请帮忙 !
if k in ['1','2','3','4']
Run Code Online (Sandbox Code Playgroud)
是条件,而不是迭代(见if).
你可以把它写成:
dict((k, {'1':'one','2':'two'}.get(k, None)) for k in ['1','2','3','4'])
# returns: {'1': 'one', '2': 'two', '3': None, '4': None}
Run Code Online (Sandbox Code Playgroud)