【问题标题】:Python List Comprehension adds another dimension in Numpy Array [closed]Python List Comprehension 在 Numpy Array 中添加了另一个维度 [关闭]
【发布时间】:2020-11-13 17:41:38
【问题描述】:

尝试学习列表推导以简化代码。但是,当我打印出形状时,下面的这个增加了一个额外的尺寸。我究竟做错了什么?我认为这是一个简单的列表理解教科书案例......

i = []

for item in intensities_copy:
    clipped = item[:, q_min_idx:q_max_idx+1]
    i.append(clipped)

i = np.array(i)

i2 = [[item[:, q_min_idx:q_max_idx+1]] for item in intensities_copy]

i2 = np.array(i2)

print(i.shape)
print(i2.shape)

这是输出:

(100, 1800, 740)
(100, 1, 1800, 740)

【问题讨论】:

  • 你为什么要多出一对[]

标签: python arrays list numpy list-comprehension


【解决方案1】:

松开多余的括号,你会得到相同的形状(这就是你得到额外尺寸的地方):

i2 = [item[:, q_min_idx:q_max_idx+1] for item in intensities_copy]

注意,append整个元素 添加到列表中,而添加元素的 内容 就像 i += clipped

【讨论】:

  • 谢谢!我想这会很快解决。我明白我做错了什么
猜你喜欢
  • 2015-08-04
  • 2017-06-10
  • 2021-12-10
  • 2017-01-18
  • 2017-12-06
  • 2016-04-05
  • 1970-01-01
  • 1970-01-01
  • 2021-10-20
相关资源
最近更新 更多