簡體   English   中英

交換 python 列表中子列表的元素

[英]Swapping elements of a sublist in a list in python

我試圖通過交換每個子列表的最后一個 position 中的元素來更改 Python 中的以下列表列表。 例如:

original_list = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']] 
new_list = [['1', '2', '9'], ['4', '5', '3'], ['7', '8', '6']]

本質上,每個子列表的最后一個元素被移動到它右邊的子列表。 所以第一個子列表的最后一個元素到第二個,第二個到第三個,第三個到第一個。 有什么辦法可以寫一個 function 來對 3 個列表中的任何列表執行此操作,每個列表有 3 個元素?

交換最后一個元素

def swap_le(original_list):
    new_list = original_list.copy()
    for i in range(1, len(new_list)):
        new_list[i][-1], new_list[i-1][-1] = new_list[i-1][-1], new_list[i][-1]
    return new_list

致電 function 並打印。

original_list = [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']] 
new_list = swap_le(original_list)
print(new_list)

結果

[['1', '2', '9'], ['4', '5', '3'], ['7', '8', '6']]

短代碼

def f(l):
    return l[-1:] + l[1:-1] + l[:1]

調用 f() 和相同的結果。
希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM