在列表中向前移动元素

时间:2019-03-24 22:53:06

标签: python list loops

我正在尝试执行以下操作; [1,2,3,4]-> [1,1,2,3]

这是我的尝试,但无济于事。我想修改它。

A = [1,2,3,4]
temp = A[0]
for i in range(1, len(A)-2):
    A[i] = temp
    temp = A[i]

但是我反而回到了[1,1,3,4]。我也想向后移动,但到目前为止我无法向前移动一个。

1 个答案:

答案 0 :(得分:5)

除非我缺少任何东西,也许您只需要一些简单的列表切片和分配?

failed

类似地,向后移1将是

int main() {
    int choice;
    while (true) {
        cout << "Enter a number: ";
        while (!(cin >> choice)) {
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
            cout << "Enter a valid choice: ";
        }
    }
    return 0;
}

通常,要移动N,请使用:

A[1:] = A[:-1]
A
# [1, 1, 2, 3]

也可以通过A[:-1] = A[1:] 循环和temp变量来向前移动1:

A[n:] = A[:-n]