【问题标题】:check for unique value in list before appendng new entry to list在将新条目附加到列表之前检查列表中的唯一值
【发布时间】:2020-12-09 12:01:16
【问题描述】:

我有一个这样的列表:

[1, 2, 4, 5]
[2, 4, 3, 4]
[3, 3, 4, 5]
[4, 1, 1, 2]

我想添加一个新条目:

[4, 5, 2, 3]

添加到列表时,我想检查最后一个元素的第一个值的唯一性。 因此,如果第一个元素相同,则新行会覆盖旧行以获得以下结果:

[1, 2, 4, 5]
[2, 4, 3, 4]
[3, 3, 4, 5]
[4, 5, 2, 3]

实现这一点的最佳方法是什么?

【问题讨论】:

    标签: python python-3.x list append


    【解决方案1】:

    试试这个 -

    在这里,您可以使用列表推导按原样返回子列表,但如果第一个元素匹配,则返回新的子列表。

    l = [[1, 2, 4, 5],
         [2, 4, 3, 4],
         [3, 3, 4, 5],
         [4, 1, 1, 2]]
    
    k = [4, 5, 2, 3]
    
    
    #Compare if first element is same as that of k and return k instead of i
    [k if i[0]==k[0] else i for i in l]
    
    [[1, 2, 4, 5], 
     [2, 4, 3, 4], 
     [3, 3, 4, 5], 
     [4, 5, 2, 3]]
    

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 2011-10-12
      • 1970-01-01
      • 2016-03-09
      • 2021-10-13
      • 2017-09-06
      • 2017-11-11
      • 2017-09-20
      • 2021-08-01
      相关资源
      最近更新 更多