python字典问题
大家讲道理
大家讲道理 2017-04-18 10:14:44
0
4
310
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(4)
迷茫
>>> d = {}
>>> help(d.fromkeys)
Help on built-in function fromkeys:

fromkeys(...)
    dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.
    v defaults to None.

所有的5個元素的值都是v,而v作為複雜型,這裡是傳引用而非傳值。

Ty80

引用啊, 都指向同一個[]。 。 。

迷茫

因為那些清單是同一個唄。

巴扎黑

因為 [] 只会被初始化一次,然后所有的key都会引用到它,也就是浅拷贝, 可以換種方式實現:
第一種:
in python3

d = {i: [] for i in range(5)}
d[1].append({'k': 'v'})

第二種:

from collections import defaultdict
d = defaultdict(list)
d[1].append({'k': 'v'})

copy.deepcopy什麼的就不太想用了

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板