我一直想知道为什么这不起作用。我很想问一个问题。
some_list = []
some_dict = {}
some_list.append(some_dict.update({'new_key': 'new_value'}))
print(some_list)
Run Code Online (Sandbox Code Playgroud)
结果:
[None]
我本来以为首先要评估最内在的策略。
some_dict.updatesome_dict就地更新并返回None,但不返回更新的dict:
some_dict.update({'new_key': 'new_value'})
some_list.append(some_dict)
Run Code Online (Sandbox Code Playgroud)
但是,如果要保留旧字典不变,可以使用以下命令:
some_list = []
some_dict = {'old_key' : 'old_value'}
some_list.append({k : v for k, v in [*some_dict.items(), ('new_key', 'new_value')]})
print(some_list)
print(some_dict)
Run Code Online (Sandbox Code Playgroud)
输出:
[{'old_key': 'old_value', 'new_key': 'new_value'}]
{'old_key': 'old_value'}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40 次 |
| 最近记录: |