【问题标题】:Insert 0's in a python list在 python 列表中插入 0
【发布时间】:2020-11-20 14:29:07
【问题描述】:

我有如下列表

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'



【问题讨论】:

  • @venky__ 很可能是因为 OP 没有展示任何解决问题的努力,所以这目前看起来像一个“我有 A,我想要 B,请为我写代码”的问题,所以没有代码编写服务。
  • 还不清楚需要在哪里添加0。它们似乎不只是添加到前面或后面。
  • @MikeScotty 也更新了代码
  • 那么,您是说list2 中的第一个子列表是显示来自list1 的正确翻译的主列表?嗯,我怀疑这里有 X-Y 问题。
  • @quamrana 我希望根据第二个列表更新第一个列表。如果第一个列表中没有对应于第二个列表的值,则应将其更新为'0'

标签: python python-3.x list python-2.7


【解决方案1】:

这是你想要的吗?

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']]

【讨论】:

  • ``` [['15', '58', '30'], ['6'], ['113', '226', '180', '165', ' 236', '403', '822', '216', '208', '287'], ['46']] [['2001', '2002', '2003'], ['2001'] , ['2001', '2002', '2003', '2004', '2005', '2006', '2007', '2008', '2009', '2010'], ['2008']]` ``.它不适用于这些值@jizhihaoSAMA
  • @Sam 那么预期的输出是什么?我仍然不确定你想要什么。
  • 将 len(list1[0])) 更改为 10 @jizhihaoSAMA 后工作
猜你喜欢
  • 1970-01-01
  • 2013-03-26
  • 2017-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-12
  • 1970-01-01
  • 2010-11-23
相关资源
最近更新 更多