2つの同じ長さのリストは、すべてfloat型またはint型、正または負であり、ゼロになる可能性はありません。同じインデックスのすべての値が同じ方向(正または負)かどうかを知りたいだけです。ここに論理、それを行うためのよりよい方法はありますか?彼らは同じ符号を持っている場合Pythonの2つのリストの同じインデックスの値を知る方法は、肯定的にも否定的にも同じですか?
def same_direction(list1, list2):
diff = []
for i in len(list1):
if (list1[i] > 0 and list2[i] > 0) or (list1[i]< 0 and list2[i] < 0):
pass
else:
diff.append(i)
if diff:
return False
return True
same_direction([1, 2, 3], [3, 7, 9]) True
same_direction([-1, 2, 3], [1, 2, 3]) False
を避けるべきであることを教えてくれます乗算よりも明らかでしょうか? –
はい、これは私が探している答えだと思います。 – Gang
@ Rob second私はあなたに同意した2番目の考えでは、大規模なintでもうまくいきます。それに応じて答えを変更しました。 – niemmi