了解 fromkeys 方法及其局限性
使用 fromkeys 方法初始化字典时,了解其行为非常重要单元素参数。传递列表作为第二个参数将导致所有字典值引用同一列表对象。
避免意外共享:替代方法
为了防止意外共享值,考虑使用替代方法:
Dict理解(Python 2.7):
data = {k: [] for k in range(2)}
使用字典构造函数的列表理解:
data = dict([(k, []) for k in range(2)])
带有字典的生成器表达式 (Python 2.4-2.6):
data = dict((k, []) for k in range(2))
简单示例:向特定键添加值
以下代码演示了预期行为:
data = {0: [], 1: []} data[1].append('hello') print(data) # Output: {0: [], 1: ['hello']}
通过使用建议的方法之一,您可以初始化一个空列表字典并修改单个键值而不影响其他键值。
以上是使用Python的'fromkeys”方法时如何避免共享引用?的详细内容。更多信息请关注PHP中文网其他相关文章!