首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有两个条件的列表理解

具有两个条件的列表理解
EN

Stack Overflow用户
提问于 2014-03-22 22:29:05
回答 2查看 517关注 0票数 0

有两个表达式的python中可以使用列表理解吗?

我有一张写着点的清单。和分号';‘,我想使用第一个参数创建一个布尔列表:

  • 点=真
  • 分号=假

我知道如何只使用一个表达式创建:

代码语言:javascript
复制
L1 = [True if i == '.' for i in L2]

代码语言:javascript
复制
L1 = [False if i == ';' for i in L2]

是否有可能把这些套话合并成一份清单理解?

编辑:;。应该转化为真,假,真,假,真,真

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-22 22:34:46

代码语言:javascript
复制
[char == '.' for char in l]

如果字符是句点,则char == '.'计算为True,否则为False。

如果需要更复杂的转换,可以使用

代码语言:javascript
复制
mapping = {
    '.': True,
    ';': False,
    ...
}

[mapping[char] for char in l]

如果你需要过滤除你要找的字符以外的字符,

代码语言:javascript
复制
[mapping[char] for char in l if char in mapping]
票数 3
EN

Stack Overflow用户

发布于 2014-03-22 22:32:05

若要另外防范其他字符,请使用:

代码语言:javascript
复制
L1 = [ch == '.' for ch in L2 if ch in '.;']
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22584483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档