作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要编写一个函数来接收一个整数数组并返回一个数组,该数组由数组中除该索引处的数字之外的所有数字的乘积组成
例如,给定:
[3, 7, 3, 4]
函数应该返回:
[84, 36, 84, 63]
通过计算:
[7*3*4, 3*3*4, 3*7*4, 3*7*3]
如果数组不包含重复项,我编写的函数将起作用,但我似乎无法弄清楚如何引用跳过索引而不跳过数组中与索引具有相同值的任何数字。
def product_of_all_other_numbers(arr):
product_array = []
for idx, val in enumerate(arr):
running_count = 1
for n in arr:
if n != arr[idx]:
running_count *= n
product_array.append(running_count)
return product_array
枚举是否可行,还是我应该开始探索不同的路线?
最佳答案
I can't seem to figure out how to reference skipping the index withoutalso skipping any number in the array with the same value as theindex.
不需要比较该索引处的值,您只关心索引。所以你的内部循环可能是这样的:
def product_of_all_other_numbers(arr):
product_array = []
for idx, val in enumerate(arr):
running_count = 1
for i, n in enumerate(arr):
if i != idx:
running_count *= n
product_array.append(running_count)
return product_array
请注意,这个问题有更有效的解决方案,但这解决了您当前的问题。
关于python - 使用枚举函数,有没有办法在不引用元素的情况下引用索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63046104/
我是一名优秀的程序员,十分优秀!