python - Python旋转子数组内的元素
问题描述
我正在尝试按给定顺序创建两个子数组,在这种情况下,我有两个整数 a 和 b a
代表子数组范围的值,并b
代表它需要旋转多少次。
我创建了这样的子数组;
def reorder(a,b):
return [[i for i in range(0, a//2)]] + [[f for f in range(a//2, a)]]
想象一下a
是10并且b
是1输出是:
[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]
但是我怎样才能反转每个子数组的b
时间呢?
我想要的输出;
[[4, 0, 1, 2, 3], [9, 5, 6, 7, 8]]
解决方案
您可以通过切片来旋转内部列表:
def reorder(a,b):
slicingPosition = a/2 % b
return [y[-slicingPosition:] + y[:-slicingPosition] for y in [[i for i in range(0, a//2)]] + [[f for f in range(a//2, a)]]]
for x in range(1, 6):
print(x, '>>', reorder(10, x))
输出:
(1, '>>', [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]])
(2, '>>', [[4, 0, 1, 2, 3], [9, 5, 6, 7, 8]])
(3, '>>', [[3, 4, 0, 1, 2], [8, 9, 5, 6, 7]])
(4, '>>', [[4, 0, 1, 2, 3], [9, 5, 6, 7, 8]])
(5, '>>', [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]])
推荐阅读
- html - 为什么在尝试将其移动到左侧时,导航栏项目会与徽标一起移动?
- python - 读取文件并检查文件中是否有数据。Python
- python - 重复的日志输出,但没有重复的处理程序
- sql - DB2 Crystal Reports 声明/设置变量
- java - 在 MongoDB 中存储多边形
- angular - 我想在迭代第四次运行后动态添加 DIV。此 DIV 将放置一个分页符
- c# - 为什么 Just My Code 会影响此条件语句
- scala - 在 IDEA 中运行不同的对象 - Scala
- python - 标签编码器编码数据帧而不编码 NaN 缺失值
- wordpress - 如何防止 Yandex 指标在 Wordpress 网站上加载?