PYthonに限った話ではないですが、小ネタです。
YNeosとは
この間、競技プログラミングの提出一覧を見ていたらこんなものを見つけました。
'YNeos'
いねおす?
ちょっと解説してみます。
概要
a=3;b=2
print('YNeos'[a<b::2])
なにか条件式を与えて
Trueなら「No」
Falseなら「Yes」を出力します。
(逆だったら良かったのにね)
わかりきった解説
TrueとFalseは整数(int)であり、それぞれ1,0を表します。
また、Pythonにはスライスという技法があり、
始点+コロン2つ+数値(ステップ値)で
始点位置から要素をステップ値個ごとに取り出す。
([1::2]なら1番目の要素から2個ごとに取り出す)
というものがあります。
したがって上記の場合は
a<bがTrue(1)なら
1番目の要素と3番目の要素を取り出すので「No」
a<bがFalse(0)なら
0、2、4番目の要素を取り出すので「Yes」
となるのでした。めでたし
利点としてはコードを若干短くできるという点です。
(主に競プロとかで)
やっぱりなんか気持ち悪い
ということで
a=3;b=2
print('YNeos'[not(a<b)::2])
否定が気にならない人はここに脳死で条件式を突っ込めばだいじょうぶ!