2017-09-07 3 views
0

J'ai besoin d'échanger la liste (comme j'importe la liste imbriquée du fichier d'entrée donné). Ensuite, j'ai besoin d'échanger chaque sous-liste pour chaque itération de la boucle. La sous-liste devrait être en première position.Liste de permutation dans la liste en python

j'ai écrit le code, mais au lieu de l'échanger copie de la liste multiple:

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 

Répondre

0

copie de list1 à liste2 peut être fait en utilisant
list2=list1[:]
Non par: -
list2=list1
list1 et list2 ne sont pas la liste liste des listes

0

échanger les éléments d'un tableau numpy à un autre (le même concept peut s'appliquer pour la liste également) tableau peut être fait. créer les deux variables pour stocker le tableau n-d Ceci fonctionnera.

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')