Python中如何对嵌套列表中的某一子列表取负数?
嵌套列表子列表取反的正确实现
你直接用X[0] = -X[0]会报错,原因是Python的列表对象不支持直接用负号批量反转元素符号——负号只能作用于单个数值类型,没法直接作用于整个列表。
要实现子列表元素全部取负,有两种实用方法:
方法一:列表推导式(简洁推荐)
通过列表推导式遍历子列表的每个元素,逐个取负后生成新列表替换原位置:
X = [[1,2,3],[4,5,6]] X[0] = [-num for num in X[0]] print(X) # 输出: [[-1, -2, -3], [4, 5, 6]]
方法二:循环逐个修改元素
如果需要更直观的元素修改过程,可以遍历子列表的索引,逐个更新元素值:
X = [[1,2,3],[4,5,6]] for idx in range(len(X[0])): X[0][idx] = -X[0][idx] print(X) # 输出: [[-1, -2, -3], [4, 5, 6]]
内容的提问来源于stack exchange,提问作者Anusuya Ghosal
相关产品推荐
相关产品推荐

