Python 在列表中循环时过滤出值列表[i]
我有一份清单:Python 在列表中循环时过滤出值列表[i],python,python-3.x,list,Python,Python 3.x,List,我有一份清单: lst = [3, 2, 1] 我将循环遍历该列表,但我想为每个迭代排除lst[I]。我看到的答案是: x = [i for i in range(n) if i not in y] 它创建一个数字范围,然后排除某个值,但这对我的代码不起作用,因为我有一个要循环的列表和一个要排除的数字lst[I]。我无法将其具体放入我的代码中 我的PSEDOO代码如下: lst = [3,2,1] new_lst = [] for i in range(0, len(lst)): n
lst = [3, 2, 1]
我将循环遍历该列表,但我想为每个迭代排除lst[I]。我看到的答案是:
x = [i for i in range(n) if i not in y]
它创建一个数字范围,然后排除某个值,但这对我的代码不起作用,因为我有一个要循环的列表和一个要排除的数字lst[I]。我无法将其具体放入我的代码中
我的PSEDOO代码如下:
lst = [3,2,1]
new_lst = []
for i in range(0, len(lst)):
new_list.append(i) while not including lst[i]
Multiply everything in the new list (without List[i])
result = np.prod(new_list)
print(result)
请帮助使用排除
i
的切片:lst[:i]+lst[i+1:][/code>您实际上要求的是大小组合len(lst)-1
:
from itertools import combinations
lst = [3, 2, 1]
print(list(combinations(lst, len(lst) - 1)))
哪个输出
[(3, 2), (3, 1), (2, 1)]
那应该太慢了。你能说得更具体些吗?我该怎么做?@agnostic您需要添加一些示例输入和输出问题是我无法让代码工作以生成示例,我的伪代码非常清楚地描述了我正在尝试执行的操作,不是吗?@agnostic哦,对不起,我指的是所需的输出-您希望获得的输出。伪代码不清楚,这就是我问的原因。至少对我来说不清楚。你能给出你想要的输出吗?比如:“我有lst=[3,2,1]。我想要结果[9,4,1]