在 python 列表中插入 0
Insert 0's in a python list
我有如下清单
list1=[['10','20','30','40','50','60','70','80','90','100'],['10','40'],['10','20','12'],...]
list2=[['2001','2002','2003','2004','2005','2006','2007','2008','2009','2010'],['2004','2005'],['2001','2002','2004'],...]
我想在列表 2 中不存在年份的地方添加 0
list1_modified=[['10','20','30','40','50','60','70','80','90','100'],['0','0','0','10','40','0','0','0','0','0'],['10','20','0','12','0','0','0','0','0','0'],....]
如何根据第二个列表修改第一个列表。
for val1,val2 in zip(list1,list2):
if len(val1)!=len(val2):
for sub1,sub2 in zip(val1,val2):
sub1='0'
这是你想要的吗?
list1 = [['10', '20', '30', '40', '50', '60', '70', '80', '90', '100'], ['10', '40'], ['10', '20', '12']]
list2 = [['2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010'], ['2004', '2005'],
['2001', '2002', '2004']]
list1_modified = []
for l1, l2 in zip(list1, list2):
l1 = iter(l1)
sub_list = [next(l1) if str(index+2001) in l2 else '0' for index in range(len(list1[0]))]
list1_modified.append(sub_list)
print(list1_modified)
打印:
[['10', '20', '30', '40', '50', '60', '70', '80', '90', '100'], ['0', '0', '0', '10', '40', '0', '0', '0', '0', '0'], ['10', '20', '0', '12', '0', '0', '0', '0', '0', '0']]
我有如下清单
list1=[['10','20','30','40','50','60','70','80','90','100'],['10','40'],['10','20','12'],...]
list2=[['2001','2002','2003','2004','2005','2006','2007','2008','2009','2010'],['2004','2005'],['2001','2002','2004'],...]
我想在列表 2 中不存在年份的地方添加 0
list1_modified=[['10','20','30','40','50','60','70','80','90','100'],['0','0','0','10','40','0','0','0','0','0'],['10','20','0','12','0','0','0','0','0','0'],....]
如何根据第二个列表修改第一个列表。
for val1,val2 in zip(list1,list2):
if len(val1)!=len(val2):
for sub1,sub2 in zip(val1,val2):
sub1='0'
这是你想要的吗?
list1 = [['10', '20', '30', '40', '50', '60', '70', '80', '90', '100'], ['10', '40'], ['10', '20', '12']]
list2 = [['2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010'], ['2004', '2005'],
['2001', '2002', '2004']]
list1_modified = []
for l1, l2 in zip(list1, list2):
l1 = iter(l1)
sub_list = [next(l1) if str(index+2001) in l2 else '0' for index in range(len(list1[0]))]
list1_modified.append(sub_list)
print(list1_modified)
打印:
[['10', '20', '30', '40', '50', '60', '70', '80', '90', '100'], ['0', '0', '0', '10', '40', '0', '0', '0', '0', '0'], ['10', '20', '0', '12', '0', '0', '0', '0', '0', '0']]