python - 将数组拆分为子数组
问题描述
我想将一个数组分成子数组,每个子数组都有 N 个元素。但是一个子数组必须有最后一个,假设前一个子数组的 2 个元素作为它的第一个元素。谁能帮我解决这个问题?在此处输入图像描述
解决方案
我不确定我是否正确理解了您的问题,但这就是我这样做的方式
import math
x = [0,9,8,6,1,2,3,4,5,6,8]
N = 4
tail = 2
new_x = [x[:N]]
for i in range(math.ceil((len(x)-N) / (N-tail))):
new_x.append(new_x[-1][-tail:] + x[N + i*(N-tail): N + (i+1)*(N-tail)])
if len(new_x[-1]) < N:
new_x[-1] += x[:N-len(new_x[-1])]
print(new_x)
输出:
[[0, 9, 8, 6], [8, 6, 1, 2], [1, 2, 3, 4], [3, 4, 5, 6], [5, 6, 8, 0]]
推荐阅读
- reactjs - 填充嵌套在子组件中的输入字段
- r - 标志测试练习
- google-cloud-platform - 使用 Google Cloud Storage 时的accounts.google.com 访问要求
- c++ - 一组线程的 C++ 互斥锁
- github - GitHub Actions 是否替换了 nuget.config 中的 ${{ secrets.NuGetAPIKey }}?
- python - “帮助”()函数找不到文档
- angular - 如何将带有常见用户凭据的 Spotfire 分析报告集成到 Angular 应用程序中?
- javascript - Chrome 控制台因使用 i-- 而不是 i-1 而崩溃
- laravel - LARAVEL - 如果出现错误如何重定向
- java - SQL 列 Jpa 中最常见的值