在使用Python里面list.append()方法的时候为什么最后一个元素总是取代了前面的元素?
发布网友
发布时间:2022-11-08 21:33
我来回答
共2个回答
热心网友
时间:2023-11-13 09:21
你的sub_dict是在哪里定义的?看起来比较像是sub_dict定义的位置有问题
你可以试试这段代码
final_datat = []
data = [['a','a','a'],['b','b','b']]
for sub_data in data :
sub_dict = {}
for i in range(len(sub_data)):
if i == 0:
sub_dict["main"] =sub_data[i]
elif i ==1:
sub_dict["value"] =sub_data[i]
elif i == 2:
sub_dict["status"] =sub_data[i]
else:
print"wring"
final_datat.append(sub_dict)
print final_datat
热心网友
时间:2023-11-13 09:22
data=[[1,1,1],[2,2,2]]
final_datat=[]
for sub_data in data :
sub_dict={} # 字典是可变对象,初始化一定不能放在for循环前面
for i in range(len(sub_data)):
if i == 0:
sub_dict["main"] =sub_data[i]
elif i ==1:
sub_dict["value"] =sub_data[i]
elif i == 2:
sub_dict["status"] =sub_data[i]
else:
print"wring"
final_datat.append(sub_dict)
print final_datat