Effacement d'un tableau ?!

Fermé
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 - 8 janv. 2014 à 02:14
nidhogg-59 Messages postés 102 Date d'inscription mercredi 20 juin 2012 Statut Membre Dernière intervention 5 décembre 2015 - 8 janv. 2014 à 19:22
Salut,

je débute sur python, pas taper :D
je travaille sous Linux avec Python 2.7.3 pour infos.

mais là, ça m'efface mon tableau data :
for row in range(1,len(data)):
# coordonnes[row][1:len(data[0])+1] = [None] * (len(data[0])-1)

et je comprends pas pourquoi...

C'est un tableau à N lignes et 4 colonnes, la 1ère contient l'ID d'un point et les trois suivantes ses coordonnées dans l'espace.
Le tableau coordonnees contiendra des coordonnées nouvelles à partir des données initiales du tableau data mais j'ai encore fait aucun calcul ici.

De plus c'est un peu le boxon ; je jongle entre les liste et les array de numpy parce que j'ai une ligne d'en-tête qui contient des chaines de caractères et tout le reste du tableau des nombre... ça me coince donc toujours à un moment ou un autre entre les doigts, dans un cas comme dans l'autre... mais ça c'est un autre problème.

merci et bonne nuit.

2 réponses

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
8 janv. 2014 à 08:32
Salut.
Pas très clair ton histoire.
C'est quoi ce [None] ? pour moi, c'est ça qui vide ton tableau, tu prend un grand tableau de taille len(data[0]) et tu lui mets un tableau plus petit dedans, de taille len(data[0])-1)
0
nidhogg-59 Messages postés 102 Date d'inscription mercredi 20 juin 2012 Statut Membre Dernière intervention 5 décembre 2015 27
8 janv. 2014 à 19:22
Bonjour!
Il semble que ce n'est pas cette ligne qui efface data:
dans un fichier, j'ai écris:
data=[[1,1,1,1],[2,2,2,2],[3,3,3,3]]
coordonnes=[[1,2,3]for x in range(len(data))]
for row in range(1,len(data)):
	coordonnes[row][1:len(data[0])+1] = [None] * (len(data[0])-1)
print data
print coordonnes

et une fois lancé, j'ai eu comme résultat:
[[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]
[[1, 2, 3], [1, None, None, None], [1, None, None, None]]


------------------
(program exited with code: 0)
Press return to continue
Donc ce n'est pas cette ligne de code qui efface ton tableau! CQFD
0