将布尔值列表转换为字符串

com*_*pie 5 python

我该如何转换:

[True, True, False, True, True, False, True]
Run Code Online (Sandbox Code Playgroud)

进入:

'AB DE G'
Run Code Online (Sandbox Code Playgroud)

注意:输出中缺少C和F,因为输入列表中的相应项为False.

Gar*_*err 10

假设你的布尔值列表不是太长:

bools = [True, True, False, True, True, False, True]

print ''.join(chr(ord('A') + i) if b else ' ' for i, b in enumerate(bools))
Run Code Online (Sandbox Code Playgroud)


mil*_*s82 9

您可以使用string.uppercase而不是chr/ord.这将为您提供与语言环境相关的结果.对于ascii,您可以使用string.ascii_uppercase.

>>> import string
>>> bools = [True, True, False, True, True, False, True]
>>> ''.join(string.uppercase[i] if b else ' ' for i, b in enumerate(bools))

'AB DE G'
Run Code Online (Sandbox Code Playgroud)