python用for循环一直出现最后一个值_python中for循环的list最后一个数据总会覆盖前面的数据...
問 題
1.如題,我真的是沒辦法了,用盡各種方法list的最后一個數據都會覆蓋前面的數據。
2.
class lotto_result_cl:
def __init__(self, index, spe_p):
lotto_result_cl.index = index
lotto_result_cl.spe = spe_p
spe_nums_int =[47, 13, 43]
spe_cl_list = []
for i in range(len(spe_nums_int)):
spe_cl_list.append(lotto_result_cl(i+1, spe_nums_int[i]))
for i in range(len(spe_cl_list)):
print spe_cl_list[i].index
print spe_cl_list[i].spe
3.結果:
3
43
3
43
3
43
但是我要的結果是:
1
47
2
13
3
43
內存分布:
證明list里面全部對象不是引用了同一個對象
解決方案
你這個類的init有問題,對之前創造的實例進行了修改,應為
class lotto_result_cl:
def __init__(self, index, spe_p):
self.index = index
self.spe = spe_p
即可
掃一掃關注IT屋
微信公眾號搜索 “ IT屋 ” ,選擇關注與百萬開發者在一起
總結
以上是生活随笔為你收集整理的python用for循环一直出现最后一个值_python中for循环的list最后一个数据总会覆盖前面的数据...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 处理字典值是把字典放内存还是用sql处理
- 下一篇: 上海欢乐谷有几个过山车项目