一个由n个数字组成的列表ls,输出一个列表lt,其中lt中第i个元素等于ls中除ls[i]
时间: 2024-05-01 12:23:59 浏览: 81
py代码-列表ls=[1,2,3,4,5,6,7,8,9],编程去除ls中的素数,并输出结果列表
之外所有元素的乘积。具体实现可以使用以下代码:
```python
def product_except_self(ls):
n = len(ls)
left, right, lt = [1] * n, [1] * n, [1] * n
# 计算每个元素左侧所有元素的乘积
for i in range(1, n):
left[i] = left[i-1] * ls[i-1]
# 计算每个元素右侧所有元素的乘积
for j in range(n-2, -1, -1):
right[j] = right[j+1] * ls[j+1]
# 计算结果
for k in range(n):
lt[k] = left[k] * right[k]
return lt
```
这里我们使用了三个数组:`left`、`right` 和 `lt`。其中,`left` 数组保存了每个元素左侧所有元素的乘积,`right` 数组保存了每个元素右侧所有元素的乘积,`lt` 数组保存最终的结果。
阅读全文