Python 每60个元素在新列表中分组
考虑到第一个元素的索引为0,我希望接收一个包含N个元素的数据集,并将其每59个元素分组一次。这个脚本中的问题是,在Python 每60个元素在新列表中分组,python,list,grouping,Python,List,Grouping,考虑到第一个元素的索引为0,我希望接收一个包含N个元素的数据集,并将其每59个元素分组一次。这个脚本中的问题是,在sample.append(data[i])部分中,它将所有数据再次分组到一个列表中,我想将其划分如下[[60个元素],[60个元素],…]。有什么改正的建议吗 脚本: @staticmethod def sampleDivision(data): parts = int(len(data) / 60) collections = [] i =
sample.append(data[i])
部分中,它将所有数据再次分组到一个列表中,我想将其划分如下<代码>[[60个元素],[60个元素],…]。有什么改正的建议吗
脚本:
@staticmethod
def sampleDivision(data):
parts = int(len(data) / 60)
collections = []
i = 1
while i <= parts:
i * 60
collections.append(i * 59)
i += 1
print(collections)
i = 1
sample = []
for position in collections:
while i <= int(position):
sample.append(data[i])
i += 1
return sample
[68, 69, 68, 69, 70, 71, 75, 72, 73, 72, 72, 73, 72, 72, 73, 70, 71, 73, 72, 72, 71, 69, 68, 69, 68, 69, 68, 69, 68, 68, 68, 68, 69, 68, 69, 70, 71, 75, 72, 69, 68, 68, 68, 69, 68, 69, 70, 71, 75, 72, 69, 68, 69, 68, 69, 68, 69, 68, 68, 60, 60, 61, 60, 61, 65, 69, 69, 72, 73, 72, 72, 73, 72, 72, 73, 70, 71, 73, 75, 78, 80, 82, 84, 87, 84, 84, 83, 82, 79, 78, 76, 74, 73, 72, 72, 72, 71, 75, 72, 69, 68, 68, 68, 69, 68, 69, 70, 71, 75, 72, 69, 68, 69, 68, 69, 68, 69, 68]
range
函数有一个在这种情况下很有用的递增参数
下面是一个示例函数,它实现了我认为您需要的功能:
def group_every_n(elements, n):
L = len(elements)
return [elements[i: i+n] for i in range(0, L, n)]
# Get every 60 elements
grouped_by_60 = group_every_n(elements, 60)
在本例中,
L
是列表的长度,range(0,L,n)
创建了一个生成器对象(基本上是一个直到我们请求才创建的列表),该对象在循环的每次迭代中都会吐出每个n
th元素。根据原始列表的长度,最后一个组的元素可能少于60个。函数的range
函数有一个增量参数,在这种情况下非常有用
下面是一个示例函数,它实现了我认为您需要的功能:
def group_every_n(elements, n):
L = len(elements)
return [elements[i: i+n] for i in range(0, L, n)]
# Get every 60 elements
grouped_by_60 = group_every_n(elements, 60)
在本例中,
L
是列表的长度,range(0,L,n)
创建了一个生成器对象(基本上是一个直到我们请求才创建的列表),该对象在循环的每次迭代中都会吐出每个n
th元素。取决于原始列表的长度,最后一组的元素可能少于60个。您这么容易就做到了,我觉得rs的完美太糟糕了,谢谢您的帮助!谢谢你的邀请!这是我对Stack Overflow的第一个贡献:)祝贺你们,欢迎你们,你们将是一个伟大的成员你们做得这么容易,我感觉很糟糕rs’完美,谢谢你们的帮助!谢谢你的邀请!这是我对堆栈溢出的第一个贡献:)祝贺你,欢迎你,你将是一个伟大的成员