python - 在 python 列表中插入 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'],...]
我想在 list2 中不存在年份的地方添加 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']]
推荐阅读
- azure-data-explorer - 错误:查询架构与表架构不匹配。QuerySchema=('long')
- html - 百里香叶片段未解决
- django - 如何在 github/ 中获得合作
- .net - 如何让后台工作人员 DoWork() 等待进一步执行,直到在 ProgressChange() 事件中完成处理?
- reactjs - 是否可以在页面加载时使用默认值加载剑道反应表单
- highcharts - 如何更改 highcharts gatt 中列单元格的背景颜色?
- jquery - 在每次点击时为 TinyMCE 添加引号而不是重置
- javascript - 添加多次图像下拉屏幕(视频游戏js)
- django - 使用 django 渠道进行电子商务的电子购物车(不使用 ajax)
- java - 为什么我的 jsf 托管 bean 中的列表为空