【问题标题】:How can I delete an element in list in a dictionary?如何删除字典列表中的元素?
【发布时间】:2023-01-12 01:45:00
【问题描述】:

我正在练习对字典的掌握,然后遇到了这个问题。 我用几个键创建了一个字典,一些键有多个值,这些值是使用列表分配的。

例如:

mypouch = {
    'writing_stationery': ['Pens', 'Pencils'],
    'gadgets': ['calculator', 'Watch'], 
    'Documents': ['ID Card', 'Hall Ticket'], 
    'Misc': ['Eraser', 'Sharpener', 'Sticky Notes']
}

我想删除特定项目“橡皮擦”。

通常我可以只使用 pop 或 del 函数,但元素在列表中。 我希望 misc 的输出为 'Misc':['Sharpener', 'Sticky Notes'] 此类问题的可能解决方案是什么?

【问题讨论】:

    标签: python list dictionary


    【解决方案1】:

    你可以做:

    mypouch['Misc'].remove('Eraser')
    

    或者,使用集合而不是列表:

    for k in mypouch:
      mypouch[k] = set(mypouch[k])
    

    然后,使用与列表相同的代码,很容易从集合中删除一个元素,复杂度为 O(1)。

    【讨论】:

      【解决方案2】:

      你可以试试这个:

      for k,v in dct.items():
          if 'Eraser' in v:
              v.remove('Eraser')
              dct[k] = v
      print(dct)
      

      输出:

      {
          'writing_stationery': ['Pens', 'Pencils'], 
          'gadgets': ['calculator', 'Watch'], 
          'Documents': ['ID Card', 'Hall Ticket'], 
          'Misc': ['Sharpener', 'Sticky Notes']
      }
      

      【讨论】:

        猜你喜欢
        • 2019-08-22
        • 2016-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-29
        • 2019-06-04
        • 2021-10-31
        • 2016-07-26
        相关资源
        最近更新 更多