如何基于预定义键创建值为指定长度零列表的字典?
实现方案
1. 字典推导式(首推无坑的最简写法)
直接用Python自带的字典推导式即可实现,完全符合要求且不存在隐藏问题,代码如下:
user_count = 3 predefined_keys = ["a", "b", "c", "d"] target_dict = {key: [0] * user_count for key in predefined_keys}
该写法下每个键对应的列表都是独立对象,后续修改任意一个列表的内容不会影响其他键的值,适配所有使用场景。
2. dict.fromkeys 写法(仅适用于无需修改列表的场景)
如果你能确定后续不会修改列表内的值,也可以用更简短的dict.fromkeys实现:
user_count = 3 predefined_keys = ["a", "b", "c", "d"] target_dict = dict.fromkeys(predefined_keys, [0] * user_count)
注意:该方法所有键会共用同一个列表对象,只要修改任意一个列表内的元素,所有键对应的列表都会同步变更,仅适合只读场景使用。
内容的提问来源于stack exchange,提问作者Lukasz
相关产品推荐
相关产品推荐

