簡體   English   中英

如何交換元組中的元素?

[英]How to swap elements in tuple?

我有一個非常具體的問題,我需要知道如何交換列表或元組中的元素。 我有一個名為board state的列表,我知道需要交換的元素。 我該如何交換它們? 在具有二維數組的java中,我可以輕松地執行標准交換技術,但是在這里它說元組賦值是不可能的。

這是我的代碼:

board_state = [(0, 1, 2), (3, 4, 5), (6, 7, 8)]

new = [1, 1] # [row, column] The '4' element here needs to be swapped with original
original = [2, 1] # [row, column] The '7' element here needs to be swapped with new

結果應該是:

board_state = [(0, 1, 2), (3, 7, 5), (6, 4, 8)]

我如何交換?

與字符串一樣,元組是不可變的:不可能分配給元組的各個項目

列表是可變的,因此將board_state轉換為list list

>>> board_state = [[0, 1, 2], [3, 4, 5], [6, 7, 8]]

然后使用標准的Python習慣用法交換列表中的兩個元素

>>> board_state[1][1], board_state[2][1] = board_state[2][1], board_state[1][1]
>>> board_state
[[0, 1, 2], [3, 7, 5], [6, 4, 8]]

暫無
暫無

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

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