在python中列表中交换列表

时间:2017-09-07 06:10:14

标签: python abaqus

我需要交换列表(因为我从给定的输入文件导入嵌套列表)。 接下来,我需要为循环的每次迭代交换每个子列表。子列表应位于第一个位置。

我编写了代码,但没有交换它复制多个列表:

import numpy as np  
fd =open('circle_input.txt','r')
d=np.loadtxt(fd,delimiter=',',dtype={'names':
('co1','col2','col3'),'formats':('float','float','float')})
  temp1=d
  temp2=d
  for i in range(len(d)):
    temp1[0]=temp1[i]
    temp1[i]=temp2[0]
    print(temp1)

circle_input.txt

0,0,5
10,0,5
0,10,5
-10,0,5
0,-10,5

2 个答案:

答案 0 :(得分:0)

将list1复制到list2可以使用
完成 list2=list1[:]
不是: - list2=list1
其中list1list2列表不是列表列表

答案 1 :(得分:0)

将元素从一个numpy数组交换到另一个(同样的概念也可以应用于list)数组可以完成。创建用于存储n-d数组的两个变量 这样可行。

import numpy as np  
fd1 =open('circle_input.txt','r')
fd2=open('circle_input.txt','r')
d1=np.loadtxt(fd1,delimiter=',',dtype={'names':('co1','col2','col3'),'formats':('float','float','float')})
d2=np.loadtxt(fd2,delimiter=',',dtype={'names':('co1','col2','col3'),'formats':('float','float','float')})
temp1=d1
temp2=d2


for i in range (len(d)):
  if i==0:
   temp1[0]=temp1[i]
   temp1[i]=temp2[0]
  else:
   temp1[0]=temp1[i]
   temp1[i]=temp2[i-1]
  print(temp1)
  print('\n')