gpt4 book ai didi

python - 对应于 Python 子列表中条件的元素

转载 作者:行者123 更新时间:2023-12-02 15:43:59 25 4
gpt4 key购买 nike

我有列表 Jcond1。我想打印 J 中与 cond1 的每个子列表中的 False 相对应的值。我展示了当前和预期的产出。

J=[[1, 2, 4, 6, 7], [1, 4]]
cond1=[[[False, True, False, True, False]], [[False, True]]]

result = [value for value, condition in zip(J, cond1) if not condition]
print(result)

当前输出为

[]

预期的输出是

[[1,4, 7],[1]]

最佳答案

问题在于 cond1 中的列表嵌套在另一个列表中,而在 J 中它们位于顶层。这就是造成困惑的原因。如果您要修复嵌套,一切正常,如下所示:

J=[[1, 2, 4, 6, 7], [1, 4]]
cond1=[[False, True, False, True, False], [False, True]]
# note that J and cond1 have the same nesting level here

def retain_false(numbers, booleans):
return [num for num, boolean in zip(numbers, booleans) if not boolean]

for numbers, booleans in zip(J, cond1):
print(retain_false(numbers, booleans))

## output
[1, 4, 7]
[1]

如果出于某种原因,您不想处理嵌套问题,那么只需访问 booleans 的第一个索引:

for numbers, booleans in zip(J, cond1):
print(retain_false(numbers, booleans[0]))

关于python - 对应于 Python 子列表中条件的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74981708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com