Pythonリストが2つの等しい半分で構成されているかどうかを確認する必要があります。リストの前半が効率的に等価であるかどうかをチェックする方法は?
[6, 2, 0, 2, 3, 2, 6, 2, 0, 2, 3, 2]
を、これは私がこのチェックを試してみた
[6, 2, 0, 2, 4, 6]
ません:たとえば、このリストはありませんlen(lst) % 2 == 0 and lst[:len(lst)//2] == lst[len(lst)//2:]
をが、大きなリストには遅すぎると思われます。その他のソリューション?
解決策はコピーせずにスライスしていますが、pythonはそれを行うための標準的な方法ではありません:https://stackoverflow.com/questions/3485475/can-i-create-a-view-on- a-python-list – Leon
入力リストの長さが常に偶数であることを保証できますか? –
@PM 2Ring:私は 'len(lst)%2 == 0' – planetp