python - 交换二维列表的列

标签 python list 2d swap

使用二维列表,例如:

[['G', 'Y', 'V', 'X'], ['C', 'F', 'Z', 'Y'], ['B', 'X', 'B', 'J'], ['P', 'T', 'U', 'W']]

是否有允许交换的 BIF/速记,如下例所示,每个内部列表的第 0 个索引已与内部列表的第 2 个索引交换:

[['V', 'Y', 'G', 'X'], ['Z', 'F', 'C', 'Y'], ['B', 'X', 'B', 'J'], ['U', 'T', 'P', 'W']]

我已经生成了一个运行良好的迭代解决方案。但很高兴知道 BIF 是否确实存在。提前致谢。

最佳答案

如果你想就地交换(我假设),我会这样:

def swap_in(lst, fro, to):
    lst[fro], lst[to] = lst[to], lst[fro]

lst = [['G', 'Y', 'V', 'X'], ['C', 'F', 'Z', 'Y'], ['B', 'X', 'B', 'J'], ['P', 'T', 'U', 'W']]

for sublist in lst:
    swap_in(sublist, 0, 2)

print(lst) # [['V', 'Y', 'G', 'X'], ['Z', 'F', 'C', 'Y'], ['B', 'X', 'B', 'J'], ['U', 'T', 'P', 'W']]

我不知道有哪一种简洁的单行代码可读性强并且可以解决问题。

关于python - 交换二维列表的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34530615/

相关文章:

c++ - C++ 是否具有 HTML <canvas></canvas> 和 JS fillRect 的等价物?

python:确定列表 A 是否包含与列表 B 不同的值

python - 如何删除列表中的整个字典?

list - Prolog回文

java - 具有抽象泛型和集合的 JPA 单表继承

java - 在二维数组网格中的 JLabel 之间绘制线条

C++动态分配二维数组

Python:字典链接数据

python - 特征匹配+单应性查找对象

android - 如何在android studio中刷新 Assets 文件列表