从列表理解中获取匹配的子列表

哈曼·塞缪尔(Hamman Samuel)
cache = [['a', 'b'], ['c', 'd']]
val = 'a'
if val in [x for [x,y] in cache]:
    print(y)
else:
    print('Not found')

在上面的代码中,我希望b返回作为答案。但是,结果是d如何从此表达式中检索匹配的项目?如果我的术语不正确,请原谅我,我刚刚开始学习Python并列出理解。我更喜欢使用这种简写形式,因为我现在还不太熟悉lambda表达式。另一个好奇心,为什么会这样d

以利沙

问题在于表达式[x for [x,y] in cache]的值与['a','c']表达式查找之前a一样。因此,a与之无关b

y包含的值,d因为它是y迭代时存储的最后一个值cache

我认为您想要的是这样的:

cache = [['a', 'b'], ['c', 'd']]
val = 'a'
ys = [y for [x,y] in cache if val == x]
if ys:
    print(ys[0])
else:
    print('Not found')

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从列表理解中获取匹配的子列表

来自分类Dev

扩展vs列表理解以获取子列表的平坦列表

来自分类Dev

从列表中获取匹配值的子查询结果

来自分类Dev

案例表达/列表理解中的模式匹配

来自分类Dev

捕获匹配点在列表中的理解

来自分类Dev

从Linq中的列表获取子列表

来自分类Dev

获取列表的子列表

来自分类Dev

匹配列表中间的子列表

来自分类Dev

匹配列表中间的子列表

来自分类Dev

使用列表理解在3D列表中获取对的问题

来自分类Dev

从匹配节点列表中获取endNodes

来自分类Dev

从列表中获取匹配的MySQL行?

来自分类Dev

从匹配节点列表中获取endNodes

来自分类Dev

如何从字典中获取不匹配的列表

来自分类Dev

从列表中获取匹配的字符串并创建新列表

来自分类Dev

在C中获取父进程的子列表

来自分类Dev

Python。列表理解。列表中的列表等

来自分类Dev

通过列表理解修改列表中的列表

来自分类Dev

Python中列表列表的列表理解

来自分类Dev

如何在Apex Salesforce中获取列表的子列表?

来自分类Dev

从整数列表中获取子列表的索引对

来自分类Dev

获取与Windows中的查询匹配/不匹配的文件列表

来自分类Dev

从2个列表中获取匹配和不匹配的元素

来自分类Dev

Swift中的列表理解

来自分类Dev

列表理解中的“ If ... or ...”语句?

来自分类Dev

在Ocaml中理解列表?

来自分类Dev

或列表理解中的条件

来自分类Dev

列表理解中的if语句

来自分类Dev

Swift中的列表理解