booleanの値によって異なる文字列を得るスニペット
条件分岐を使わずに,boolean値を得るかっこいい方法を見つけました。
Python3/Lib/test/test_unicodedata.py
より抜粋しています。
for i in range(0x10000): char = chr(i) data = [ "01"[char.isalnum()], "01"[char.isalpha()], "01"[char.isdecimal()], "01"[char.isdigit()], "01"[char.islower()], "01"[char.isnumeric()], "01"[char.isspace()], "01"[char.istitle()], "01"[char.isupper()], ] # 以下省略...
ご覧のとおり、文字列のスライスをうまく利用していますね。 この手法を使えば、リスト内包表記もいつもより短く書けるかもしれません。