前提・実現したいこと
numpy.all()を使用しているときに予想外のブール値が出力されたので理由を知りたい。
元問題:ARC110B
https://atcoder.jp/contests/arc110/tasks/arc110_b
コード
python3
1import numpy as np 2 3T = np.array([1], dtype=np.int64) 4bool0 = np.all(T[::3] == 1) and np.all(T[1::3] == 1) and np.all(T[2::3] == 0) 5=>True
このコードは元々Tという0か1のみを要素にもつNumpy配列からindex(mod3)によって場合分けするコードなのですが、添付したコードのようにTの要素が1つの場合、T[1::3]やT[2::3]はNoneになるはずです。しかし、これを実行するとbool0はTrueになります。どうしてなのかわからなかったのですが、どなたかご教授願えると幸いです。よろしくお願いいたします。
コード自体は意図された挙動になっているので、間違っているわけではないです。
補足情報(FW/ツールのバージョンなど)
Pycharm community 2020.2.3
Python 3.8
Win10 Home
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/10 02:18