【问题标题】:Return a certain count in multi dimensional list?返回多维列表中的某个计数?
【发布时间】:2020-10-04 10:24:24
【问题描述】:

我有一个多维列表,我想返回一定的长度,但不知道要写什么代码。例如,我在下面有一个列表,我想返回列表中长度为 4 或以上的所有数字。

A=[[2,4,6,8],[2,12,20],[34,35,37,38],[4,8,9,20,21],[5,7,9,12]]

我希望我的结果是

B=[[2,4,6,8],[34,35,37,38],[5,7,9,12]]

【问题讨论】:

  • 为什么[4,8,9,20,21] 不在输出中?它的长度为 5,大于 4

标签: python-3.x list multidimensional-array jupyter-notebook


【解决方案1】:

假设,根据您想要的输出,您实际上想要长度为 4,而不是 4 或更多的子列表,您可以使用列表推导,过滤子列表的长度是否为 4 个元素:

B = [l for l in A if len(l) == 4]

输出:

[[2, 4, 6, 8], [34, 35, 37, 38], [5, 7, 9, 12]]

如果您确实想要 4 个或更多,请将 == 更改为 >=

B = [l for l in A if len(l) >= 4]

输出:

[[2, 4, 6, 8], [34, 35, 37, 38], [4, 8, 9, 20, 21], [5, 7, 9, 12]]

【讨论】:

  • 谢谢。是否有前 2 个或更多数字。如果你需要一个例子,我可以告诉你
  • 你能给我一个例子,这样我就可以确定你的意思了吗?
  • 说我是否想从每行中获取前 2 个或更多数字。我希望我的结果是这样的 A=[[2,4],[2,12],[34,35],[4,8,],[5,7]]
  • @Gamer19 你可以使用B=[l[:2] for l in A]
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-18
  • 1970-01-01
  • 1970-01-01
  • 2017-10-16
相关资源
最近更新 更多