python二维list列位置交换

一个13列,50多万行的二维list【注意:只能是list】,我想交换其中几列的位置,在不借助pandas等包的情况下,有什么办法实现?

循环呗
话说,list里存的是数据,数据是抽象的,跟你后续如何处理,如何存数据库,如何显示并没有直接的关系,你没事闲的为什么非要在内存层面交换它们

使用for循环,并且结合python标签的特性。如有帮助,还请采纳。示例如下:

list1 = [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]

for i in list1:
    # 第二列,第三列互换为例
    i[1], i[2] = i[2], i[1]

print(list1)

输出结果如下:

img

python二维列表互换行列值_傻乐的海绵宝宝的博客-CSDN博客_python 列表行列互换 编写python程序 通过Python控制台输入一个大子1的整数n, 然后产生一个二维列表。n*n,依次排列。例如,输入的整效是3,会产生 [1,2,3] [4,5,6] [7,8,9] 产生完列表后,会互换二维列表中的行列元素值。如将上面的二维列表互换行列值的结果如,[1,4,7] [2,5,8] [3,6,9]n = input("请输入一个大于1的数:")for i in range(1... https://blog.csdn.net/weixin_44315494/article/details/88783019?ops_request_misc=&request_id=&biz_id=102&utm_term=python%E4%BA%8C%E7%BB%B4list%E5%88%97%E4%BD%8D%E7%BD%AE%E4%BA%A4%E6%8D%A2&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-0-88783019.nonecase&spm=1018.2226.3001.4450

不用pandas,可以用for循环遍历50w,一行一行赋值更换

有规律的可以t通过for循环批量换,你可以决定谁和谁换,像下面这样:

for f in range(2):
    lis[f], lis[f+2] = lis[f+2], lis[f]

有帮助的话采纳一下哦!

#所有行都统一换的话用for循环遍历列表,然后交换你需要换的那几列,x、y列
for i in list:
    i[x], i[y] = i[y], i[x]
#特定行的话把上面list改为你需要的那几行组成的列表[20,30,50,300,2220...],然后利用list对应下标,来交换
for i in [20,30,50,300,2220...]:
    list[i][x], list[i][y] = list[i][y], list[i][x]

只能说你真厉害🌝🌝

把数据先导入到excel中再操作也可行啊

numpy应该也行

拷贝到excel里面可行不