我有一个任意长度的列表,我需要将它分成相同大小的块并对其进行操作.有一些明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列表填满时,将它添加到第一个列表并清空下一轮数据的第二个列表,但这可能非常昂贵.
我想知道是否有人对任何长度的列表都有一个很好的解决方案,例如使用生成器.
我一直在寻找有用的东西,itertools
但我找不到任何明显有用的东西.但是可能会错过它.
在我的一些代码中,我将一系列对象放在一个列表中,然后从属性中构建一个额外的列表,这是一个字符串.我需要确定第二个列表中的所有项目是否具有完全相同的值,而不事先知道它是哪个值,并返回一个bool,以便我可以根据结果在我的代码中执行不同的操作.
我事先无法知道属性的名称,这就是为什么我想尽可能地创建通用的东西.
为了使示例清楚,一个称为"all_same"的理想函数将如下工作:
>>> property_list = ["one", "one", "one"]
>>> all_same(property_list)
True
>>> property_list = ["one", "one", "two"]
>>> all_same(property_list)
False
Run Code Online (Sandbox Code Playgroud)
我正在考虑制作一个独特元素列表,然后检查它的长度是否为1,但我不确定它是否是最优雅的解决方案.