列表理解缺少一些值与编写循环

卡蒂亚·汉德勒(Katya Handler)

我有两个数据集,foundallowed我想检查中的任何观察值found是否未出现在中allowed,以便确保将其标记为不允许。

found = [["A", "B", "C"], [10, 20, 30], ["X", "Y", "Z"]]
allowed = [["A", "B", "C", "D"], [20, 30, 40], ["W", "X", "Y"]]

如果运行以下命令,则会得到正确的答案,即 [(1, 10), (2, 'Z')]

new_values = []
for x in range(0, len(allowed)):
    for val in found[x]:
        if val not in allowed[x]:
            new_values.append((x, val))

但是,如果我运行以下命令,它需要更少的行,并且我认为更容易,它将返回 new_values = [(2, 'Z')]

for x in range(0, len(allowed)):
    new_values = [(x, val) for val in found[x] if val not in allowed[x]]

发生了什么事(1, 10)如果我跑步,10 in allowed[1]我会False认为它应该出现在其中new_values

AKS

您正在new_valuesfor循环中重新分配

for x in range(0, len(allowed)):
    new_values = [(x, val) for val in found[x] if val not in allowed[x]]

试试这个:

new_values = []
for x in range(0, len(allowed)):
    new_values.extend([(x, val) for val in found[x] if val not in allowed[x]])

或者,甚至更短一些,使用列表推导:

new_values = [(x, val) for x in range(0, len(allowed)) for val in found[x] if val not in allowed[x]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

列表理解缺少一些值与编写循环

来自分类Dev

for循环省略了一些列表元素

来自分类Dev

for循环省略了一些列表元素

来自分类Dev

MergeQueue在return语句中缺少一些值

来自分类Dev

缺少一些括号

来自分类Dev

如何在for循环中排除一些列表

来自分类Dev

硒点击循环忽略了一些值

来自分类Dev

根据一些值对列表进行切片

来自分类Dev

Scrapy缺少一些html元素

来自分类Dev

JNA:缺少一些特定方法

来自分类Dev

Android BufferedReader缺少一些字母

来自分类Dev

缺少一些MFC标头

来自分类Dev

for循环c ++中的'冒号'和'自动'?需要一些帮助来理解语法

来自分类Dev

关于扩展方法的一些理解

来自分类Dev

如何在asciiDoctor的列表块内编写一些html代码?

来自分类Dev

我不理解雄辩的js“列表”练习(我有一些奇怪的结果)

来自分类Dev

V93k 测试方法参数类型缺少一些可接受的值?

来自分类Dev

如何获得子列表的一些值以及其他2个列表的值?

来自分类Dev

展平列表列表,其中一些列表具有多个值 - python

来自分类Dev

循环一些硬编码的数据

来自分类Dev

在Matlab中加快一些for循环

来自分类Dev

循环读取一些xlsx文件

来自分类Dev

在Matlab中加快一些for循环

来自分类Dev

尝试优化一些循环代码

来自分类Dev

Python导出一些列表并将所有内容放入for循环中

来自分类Dev

如何“嵌套”一些嵌套列表

来自分类Dev

从列表访问一些数据

来自分类Dev

DataGridView中缺少一些多对一的对象

来自分类Dev

我需要在while循环之外捕获一些值