値の正負の判定の仕方を知りたいです。
Python3
1import numpy as np 2 3lst = [1, 3, 2, 5, 6, 8] 4x = [] 5for a, b in zip(lst[:-1], lst[1:]): 6 c = a - b 7 x.appned(c) 8 signs = np.sign(x) 9 indices = np.where(signs[:-1] != signs[1:])[0]
以上のようなリストとfor文があった際に、c
の正負が変わる最初のタイミングでループを抜け、別の処理に移るような動きをしたいと思っています。
リストに入っている値があらかじめわかっておらず、c
に初めに入ってくる値がマイナスかプラスかわからない状態のときに、どのように計算結果の正負を判定し、正負が反転していた場合にループを抜けることができるのでしょうか?また、その際のループの回数(リストの何番目で変わったのか)を取得することはできるのでしょうか?
上記のようなコードで、正負が反転している個所をリストとして取得することができ、そのリストの最初の値をとればいいとは思うのですが、もう少しすっきりした書き方や考え方はないのでしょうか?
ご教示いただけますと幸いです。よろしくお願いいたします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/24 02:40
2018/10/24 02:42