【问题标题】:List of lists: how to delete all lists that contain certain values?列表列表:如何删除所有包含特定值的列表?
【发布时间】:2022-12-31 02:42:43
【问题描述】:

有一个列表列表。例如:

my_list = (
  ('A', 7462),
  ('B', 8361),
  ('C', 3713),
)

考虑到数字(或其他值)可能会发生变化,过滤掉所有具有值 'B' 的字典的最有效方法是什么?

到目前为止我想到的唯一方法是使用循环,但在这种情况下效率很低,所以我想知道在这种情况下是否可以避免循环。

【问题讨论】:

  • 字典在哪里?你拥有的是元组。你能解释一下为什么效率低下吗?
  • 您的代码示例是元组的元组,标题是列表列表,您在问题中提到了字典。答案因您实际使用的结构而异:请具体说明

标签: python list


【解决方案1】:

您的列表不包含 dict 它包含元组,

newLst = filter(lambda e: e[0] == 'B', lst)

【讨论】:

  • 我觉得这段代码 sn-p 对于无法区分元组、列表和字典的人来说是难以理解的。
  • @sami-amer 我补充
猜你喜欢
  • 2021-02-13
  • 2022-12-09
  • 2021-08-18
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 2016-01-06
  • 2020-09-26
  • 2016-08-16
相关资源
最近更新 更多