如何从列表中删除一个特定元素[重复]

Posted

技术标签:

【中文标题】如何从列表中删除一个特定元素[重复]【英文标题】:How to remove one specific element from a list [duplicate] 【发布时间】:2019-08-02 20:52:37 【问题描述】:

我的变量 L1 看起来像这样:

['distance': 1.9999,
  'breakEvenDistance': 1.9329,
  'max': 0.0010342833053929787,
 'distance': 1.9251,
  'breakEvenDistance': 2.0669999999999997,
  'max': 0.0011183923895419084,
  'min': 0.0010342833053929787,
 'distance': 1.8802,
  'breakEvenDistance': 1.6758,
  'max': 0.0011927892918825562,
  'min': 0.0011183923895419084,
 'distance': 1.8802,
  'breakEvenDistance': 1.5956,
  'max': 0.0012522046577102665,
  'min': 0.0011927892918825562]

我需要删除列表中的最后一个'max'!我试图检查文档,在L1[-1]['max'] 上使用了函数del,但没有用.. 有什么想法或线索吗?谢谢!

【问题讨论】:

无法复制,工作正常。 工作得很好 del L1[-1]['max'] 完成这项工作 您想从每个元素中删除max 键吗?使用del L1[-1]['max'] 删除最后一个 dict max 就可以了 @viktor.w 不清楚您是要从最后一个字典中删除 max 键,还是从最后一个字典中删除,或者其他什么。如果是第一个,你已经得到了答案。如果是第二个,您可以使用lst.pop()del lst[-1] 删除最后一个元素。否则,您需要澄清。 【参考方案1】:

-1 获取dict的最后一个元素:

del dict_[-1]['max']
print(dict_)

输出:

[
 'distance': 1.9999, 'breakEvenDistance': 1.9329, 'max': 0.0010342833053929787,
 'distance': 1.9251, 'breakEvenDistance': 2.0669999999999997, 'max': 0.0011183923895419084, 
  'min': 0.0010342833053929787, 
 'distance': 1.8802, 'breakEvenDistance': 1.6758, 'max': 0.0011927892918825562, 
  'min': 0.0011183923895419084, 
 'distance': 1.8802, 'breakEvenDistance': 1.5956, 
  'min': 0.0011927892918825562
]

【讨论】:

这已经被 OP 尝试过并且已经被@rachidelkedmiri 评论了。

以上是关于如何从列表中删除一个特定元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python 3,如果列表中包含特定的东西,如何删除部分元素3 [重复]

从Python列表中的特定位置删除项目[重复]

从 2D 列表中删除连续重复项,python?

如何从字典中的列表中删除元素[重复]

删除或更改列表中特定的重复元素(并非所有重复元素)

使用 findIndex() 从数组中删除特定元素 - React [重复]