python - python中的切片列表
问题描述
我需要使用 python 3.7 对列表进行切片,切片应该包含两个元素,如果最后我们得到一个元素(如下所示),那么最后一个元素应该转到上一部分。
def solution(A):
l = len(A)
size = 2
for i in range(1, len(A), size):
print(A[i:i+2])
solution([4,2,2,5,1,5,8,9])
输出:
[2, 2]
[5, 1]
[5, 8]
[9]
期望输出:
[2, 2]
[5, 1]
[5, 8, 9]
谢谢你的帮助
解决方案
def solution(A):
l = len(A)
size = 2
groups = [ A[i:i+size] for i in range(1, len(A), size) ]
if len(groups[-1]) < size:
groups[-2].extend(groups.pop())
for x in groups:
print(x)
适用于每个大小值,而不仅仅是 2。
推荐阅读
- javascript - 如何在jquery中使用数据属性隐藏tr
- python - 在python的for循环中合并数据帧
- javascript - 如何通过 Flask 重定向到 Vue-app 的特定页面
- opengl-es - 在 OpenGL ES 中,什么是“外部图像”?为什么我们需要 GL_OES_EGL_image_external?
- r - dplyr 按组计算分数
- javascript - 删除请求导致节点服务器冻结
- python - 服务器进程之间的 Django 状态共享
- java - 使用 rpc 连接时获取 hdfs namenode 的状态?
- java - Apache Storm 本地集群“无法规范化地址”
- java - r2dbc ReactiveCrudRepository 不断崩溃