【发布时间】:2017-11-03 13:20:22
【问题描述】:
我需要检查 Python 列表是否由相等的两半组成。例如,此列表会:
[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 似乎不是这样做的内置或标准方式:stackoverflow.com/questions/3485475/…
-
你能保证输入列表的长度总是偶数吗?
-
@PM 2Ring:我使用了一个额外的检查
len(lst) % 2 == 0
标签: python list python-3.x equality