在 Python 中将数组的前 N 个元素设置为零
使用列表切片将数组的前 N 个元素设置为零,例如 a_list[:n] = [0] * n
。
切片赋值通过用 0 值的切片替换原始数组中的切片,将数组的前 N 个元素设置为零。
import numpy as np
# ✅ 将 Python 列表的前 N 个元素设置为 0
a_list = [8, 1, 2, 3, 4, 5, 6, 7]
n = 3
a_list[:n] = [0] * n
print(a_list) # 👉️ [0, 0, 0, 3, 4, 5, 6, 7]
# ---------------------------------------------
# ✅ 将 Numpy 数组的前 N 个元素设置为 0
arr = np.array([8, 1, 2, 3, 4, 5, 6, 7])
n = 3
arr[:n] = 0
print(arr) # 👉️ [0 0 0 3 4 5 6 7]
第一个示例展示了如何将原生 Python 列表的前 N 个元素设置为 0。
a_list = [8, 1, 2, 3, 4, 5, 6, 7]
n = 3
a_list[:n] = [0] * n
print(a_list) # 👉️ [0, 0, 0, 3, 4, 5, 6, 7]
我们使用列表切片赋值将列表的前 N 个元素设置为 0。
列表切片的语法是 my_list[start:stop:step]
。
start
索引是包含的,stop
索引是排他的(直到,但不包括)。
如果省略起始索引,则认为它为 0,如果省略停止索引,则切片转到列表的末尾。
Python 索引是从零开始的,因此列表中的第一项的索引为 0,最后一项的索引为 -1 或 len(my_list) - 1
。
切片
a_list[:n]
从索引 0 开始并上升到但不包括索引 n。
我们使用乘法运算符在赋值的右侧创建了一个包含 N 个零值的列表。
a_list = [8, 1, 2, 3, 4, 5, 6, 7]
n = 3
a_list[:n] = [0] * n
print(a_list) # 👉️ [0, 0, 0, 3, 4, 5, 6, 7]
当乘法 (*
) 运算符与列表和整数一起使用时,它会将列表中的项目重复 N 次。
print([0] * 2) # 👉️ [0, 0]
print([0] * 3) # 👉️ [0, 0, 0]
整个语句将列表的前 N 个元素的一部分替换为包含 N 个零的新列表。
如果你有一个
numpy
数组,你可以直接给数组的前 N 个元素赋一个零。
import numpy as np
arr = np.array([8, 1, 2, 3, 4, 5, 6, 7])
n = 3
arr[:n] = 0
print(arr) # 👉️ [0 0 0 3 4 5 6 7]
我们可以通过从终端运行以下命令来安装 numpy。
$ pip install numpy
$ pip3 install numpy
我们可以直接为 numpy
数组中的多个元素分配一个零。
请注意
,在使用本机 Python 列表时,这不是有效语法。
以下代码示例引发 TypeError
异常。
a_list = [8, 1, 2, 3, 4, 5, 6, 7]
n = 3
# ⛔️ TypeError: can only assign an iterable
a_list[:n] = 0
我们正在尝试将单个 0 分配给列表的一个切片(多个项目)。
这仅适用于
numpy
数组,不适用于本机 Python 列表。
我们还可以像我们在上一个示例中所做的那样,将 numpy 数组中的前 N 个元素替换为包含 N 个零的列表。
import numpy as np
arr = np.array([8, 1, 2, 3, 4, 5, 6, 7])
n = 3
arr[:n] = [0] * n
print(arr) # 👉️ [0 0 0 3 4 5 6 7]
代码示例通过将切片替换为包含 N 个零值的切片,将 numpy 数组的前 N 个元素设置为 0。
如果需要将
numpy
数组转换为本机 Python 列表,可以使用tolist()
方法。
import numpy as np
arr = np.array([8, 1, 2, 3, 4, 5, 6, 7])
n = 3
arr[:n] = [0] * n
print(arr) # 👉️ [0 0 0 3 4 5 6 7]
a_list = arr.tolist()
print(a_list) # 👉️ [0, 0, 0, 3, 4, 5, 6, 7]
tolist()
方法将 numpy 数组转换为列表。
相关文章
在 C 语言中获取字符数组的长度
发布时间:2023/05/07 浏览次数:166 分类:C语言
-
本文演示了如何在 C 语言中获取一个 char 数组的长度。使用 sizeof 运算符来查找字符数组的长度 数组的大小可以用 sizeof 运算符计算,而不考虑元素的数据类型。
如何在 C 语言中获取数组的大小
发布时间:2023/05/07 浏览次数:92 分类:C语言
-
本教程介绍了 C 语言中确定数组大小的方法。本教程介绍了在 C 语言中使用 sizeof()运算符的方法。
C 语言中复制字符数组
发布时间:2023/05/07 浏览次数:117 分类:C语言
-
本文介绍了如何在 C 语言中复制字符数组。使用 memcpy 函数在 C 语言中复制一个字符数组 char 数组可能是 C 代码中最常用的数据结构,复制数组内容是它的核心操作之一。
Django ArrayField 数组字段
发布时间:2023/05/04 浏览次数:168 分类:Python
-
在本文中,我们将学习在 Django 数据库模型中使用 ArrayFields。Django中的ArrayField类似于Java、C、C++等其他编程语言中的数组数据结构,存储相同数据类型的多个值。
计算 Java 数组中的重复元素
发布时间:2023/05/01 浏览次数:202 分类:Java
-
本篇文章介绍Java计算数组中重复元素的方法。计算 Java 数组中的重复元素。我们可以创建一个程序来计算数组中的重复元素。 该数组可以是未排序的,也可以是已排序的。
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。