gpt4 book ai didi

python - Python 中的列表变得非常复杂

转载 作者:行者123 更新时间:2023-11-28 19:55:11 25 4
gpt4 key购买 nike

我有一个简单的函数,它将二维列表作为参数:

def get_noise_estimate(imag_array):
temp = []

temp.append(imag_array[:20])
temp.append(imag_array[-20:])

在示例实例中,它有 305 个元素,每个元素有 129 个元素。我想这有 305 列,每列有 129 行。我使用我的调试器发现了这些东西:

>>> len(imag_array)
305

>>> len(imag_array[0])
129

当我获取数组的前 20 和后 20“列”并将其附加到 temp 时,我得到以下信息:

>>> len(temp)
2
>>> len(temp[0])
20
>>> len(temp[1])
20
>>> len(temp[0][0])
129

我的 temp 列表变得相当困惑。我希望 len(temp) 等于 40,而不是 2 个 20 block 。为了说明我的意思,我将展示如何在 Java 中做类似的事情:

int[] temp = new int[40];

for(int i = 0; i < 20; i++){
temp[i] = imag_array[i];
}

for(int i = 0; i < 20; i++){
temp[i+20] = imag_array[imag_array.length-i]
}

以上内容不在我的脑海中,但我希望它能说明我的意思。

最佳答案

改变:

temp.append(imag_array[:20])
temp.append(imag_array[-20:])

temp.extend(imag_array[:20])
temp.extend(imag_array[-20:])

append 命令添加一些东西作为 temp 的最后一个元素。所以它使 temp 的第一个元素成为列表 imag_array[:20]extend 在参数中获取列表的所有元素,并将每个元素添加到列表的末尾。

(请注意 Jay 的回答:temp = imag_array[:20]+imag_array[-20:] 实际上更简洁——它不需要预定义 temp 并且避免使用 .append)

关于python - Python 中的列表变得非常复杂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29738066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com