あなたが言うことができるように、私はpythonに非常に慣れていません。
リストがある場合:
a = [1,2,3,2,1]
これは true と評価されます。
a == a[::-1]
...しかし、これはfalseと評価されます:
a == a.reverse()
なぜそうなのですか?
あなたが言うことができるように、私はpythonに非常に慣れていません。
リストがある場合:
a = [1,2,3,2,1]
これは true と評価されます。
a == a[::-1]
...しかし、これはfalseと評価されます:
a == a.reverse()
なぜそうなのですか?
.reverse()
リストをインプレースで反転し、何も返さないため:
>>> print a.reverse()
None
にa == None
評価されFalse
ます。
a.reverse()
戻り値がないため、比較は a==None であり、これは false です
次の方法で確認できます。
>>> str(a.reversed())
'None'
さらに良い:
>>> (id(a.reverse()), id(None))
同じアドレスが表示されます
リストの新しいコピーが必要な場合は、代わりにreversed()を使用してください。
a == list(reversed(a))