python列表如何修改_如何在python中更改列表的字典中的值
for x in range(0, 5):
ohlc_list[x] = [open , high , low, close]
這并沒有按照您的想法做.它為相同的4個列表創建5個引用,并將這些引用保留在不同的鍵下.
這可以用以下循環顯示:
for value in ohlc_list.values():
print([id(inner_list) for inner_list in value])
# [2446702057416, 2446702057544, 2446692440648, 2446702057480]
# [2446702057416, 2446702057544, 2446692440648, 2446702057480]
# [2446702057416, 2446702057544, 2446692440648, 2446702057480]
# [2446702057416, 2446702057544, 2446692440648, 2446702057480]
# [2446702057416, 2446702057544, 2446692440648, 2446702057480]
我們看到所有內部列表都具有相同的id,這意味著它們都引用了內存中的相同位置(故意過分簡化).
您想要的是這些列表的5個副本.您可以使用空切片([:])或復制來實現此目的:
for x in range(0, 5):
ohlc_list[x] = [open[:], high[:], low[:], close[:]]
如果再次打印內部列表的所有ID,我們會看到現在實際上在內存中有不同的列表:
# [2592165177544, 2592165177480, 2592165177416, 2592165177352]
# [2592165177672, 2592165177736, 2592165177800, 2592165177864]
# [2592165177992, 2592165178056, 2592165178120, 2592165178184]
# [2592165178312, 2592165178376, 2592165178440, 2592165178504]
# [2592165178632, 2592165178696, 2592165178760, 2592165178824]
總結
以上是生活随笔為你收集整理的python列表如何修改_如何在python中更改列表的字典中的值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java可达性_java垃圾回收机制--
- 下一篇: python 类似wordpress_p