【问题标题】:How do I reduce a bidimensional array to unidimensional in python? [duplicate]如何在python中将二维数组减少为一维? [复制]
【发布时间】:2019-03-25 20:49:48
【问题描述】:

我有一个数组 a = [[1,1],[2,2],[3,3]]。 我怎样才能把它减少到 b = [1,2,3]?

【问题讨论】:

  • 内部列表中的值是否始终相同?即[x, x]?如果是的话,你为什么还有这样的嵌套列表?
  • 您究竟希望它如何减少?假设您有一个列表a = [[1, 2], [3, 4], [5, 6]],或者可能是[[1, 2], [3], [5, 4]]。你想要这些[1, 3, 5],还是别的什么?
  • ...如果是这样,那么 list comprehension [inner_list[0] for inner_list in a] 就可以了,但我不知道这是否真的是你想要的。
  • 元素总是一样的
  • a = [a[i][0] for i in range(len(a))]

标签: python arrays


【解决方案1】:

如果内部数组总是两个相同的值。

a = [[1,1],[2,2],[3,3]]
b = [i for i,j in a]

这会产生:

b = [1,2,3]   

【讨论】:

  • 如果内部列表可以有不同的长度(但不能为空):[head for head, *tail in a]。这对于通用迭代列表特别有用。如果元素是可索引的,那么 [sub[0] for sub in a] 应该可以。
  • 我喜欢@timgeb
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-06
  • 1970-01-01
  • 2021-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
相关资源
最近更新 更多