list1 = ['list1_1']
list2 = []
data = {}
for lottery in list1:
data['a1'] = 'a1_1'
data['a2'] = lottery
for skin in ('a3_1', 'a3_2', 'a3_3'):
data['a3'] = skin
for type_ in ('a4_1', 'a4_2'):
data['a4'] = type_
print(data)
list2.append(data)
print('--------')
for a in list2:
print(a)
輸入結果:
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_1', 'a4': 'a4_1'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_1', 'a4': 'a4_2'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_2', 'a4': 'a4_1'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_2', 'a4': 'a4_2'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_3', 'a4': 'a4_1'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_3', 'a4': 'a4_2'}
--------
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_3', 'a4': 'a4_2'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_3', 'a4': 'a4_2'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_3', 'a4': 'a4_2'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_3', 'a4': 'a4_2'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_3', 'a4': 'a4_2'}
{'a1': 'a1_1', 'a2': 'list1_1', 'a3': 'a3_3', 'a4': 'a4_2'}
list2為什么只保存了最后1行的資料
uj5u.com熱心網友回復:
list1 = ['list1_1']list2 = []
for lottery in list1:
data = {}#回圈的時候清空,這樣是一個新的變數
data['a1'] = 'a1_1'
data['a2'] = lottery
for skin in ('a3_1', 'a3_2', 'a3_3'):
data['a3'] = skin
for type_ in ('a4_1', 'a4_2'):
data['a4'] = type_
print(data)
list2.append(data)
print('--------')
for a in list2:
print(a)
uj5u.com熱心網友回復:
不行啊, 一樣的效果uj5u.com熱心網友回復:
不是串列只保存了最后一行的值!你串列里只保存了6個data物件,或者說是一個物件,保存了6次!你回圈中不停地,對data進行賦值,你list2中的data也在變化,也就是說,你第一個append進去的data,在你回圈程序中,也在變,最后你的data的值是什么,你串列里也就是6個什么!
uj5u.com熱心網友回復:
list1 = ['list1_1']list2 = []
data = {}
data1={}
data2={}
data3={}
for lottery in list1:
data['a1'] = 'a1_1'
data['a2'] = lottery
for skin in ('a3_1', 'a3_2', 'a3_3'):
data1={}
data1['a3'] = skin
for type_ in ('a4_1', 'a4_2'):
data2={}
data2['a4'] = type_
data3={}
data3.update(data)
data3.update(data1)
data3.update(data2)
print(data3)
list2.append(data3)
print('--------')
for a in list2:
print(a)
uj5u.com熱心網友回復:
把最后縮進就行了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/119329.html
下一篇:Python求救!
