我有一个整数数组说:
arr = [1,2,3,4,5,6,7,8,9,10]
Run Code Online (Sandbox Code Playgroud)
以及另外两个定义我应该如何重新排序的数组:
A = [1,4,5,7,8]
B = [1,3,4,5,6]
Run Code Online (Sandbox Code Playgroud)
A和B具有相同的尺寸.
我想以arr一种方式重新排序,使得值在值A之前B,但是在任一个数组中都没有显示的值保持在同一个位置.例如:
>>> reorder(arr, A, B)
[1, 2, 4, 5, 7, 8, 3, 6, 9, 10]
Run Code Online (Sandbox Code Playgroud)
>>> C = iter(A + [b for b in B if b not in A])
>>> [next(C) if e in A+B else e for e in arr]
[1, 2, 4, 5, 7, 8, 3, 6, 9, 10]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |