有两个表达式的python中可以使用列表理解吗?
我有一张写着点的清单。和分号';‘,我想使用第一个参数创建一个布尔列表:
我知道如何只使用一个表达式创建:
L1 = [True if i == '.' for i in L2]或
L1 = [False if i == ';' for i in L2]是否有可能把这些套话合并成一份清单理解?
编辑:;。应该转化为真,假,真,假,真,真
发布于 2014-03-22 22:34:46
[char == '.' for char in l]如果字符是句点,则char == '.'计算为True,否则为False。
如果需要更复杂的转换,可以使用
mapping = {
'.': True,
';': False,
...
}
[mapping[char] for char in l]如果你需要过滤除你要找的字符以外的字符,
[mapping[char] for char in l if char in mapping]发布于 2014-03-22 22:32:05
若要另外防范其他字符,请使用:
L1 = [ch == '.' for ch in L2 if ch in '.;']https://stackoverflow.com/questions/22584483
复制相似问题