Précédent   Forum du club des développeurs et IT Pro > Autres langages > Python & Zope > Général Python
Général Python Forum d'entraide sur les fondamentaux du langage Python, syntaxe, POO, bibliothèque standard, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/11/2012, 14h09   #1
pierre-y
Membre du Club
 
Inscription : décembre 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 64
Points : 47
Points : 47
Par défaut demande d'information sur un tuto

Bonjour,

J'écris se message car j'ai commencer a regarder le tutoriel de François louis LAILLIER sur le traitement d'image avec NUMPY et une partie me pose une question.

http://francoislouislaillier.develop...onNumpy/Tuto1/

la fonction Bord
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
def Bord(data):
    data=numpy.array(data)
    x=data.shape[1]+2
    y=data.shape[0]+2
    new=[x*[0]]*y  #création du tableau
    new=numpy.array(new)
 
    h=1
    for i in range(1,y-1):
        for j in range(1,x-1):
            new[i][j]=data[i-1][j-1] #remplissage du tableau
 
    return new
en faisant :
le tableau a deux dimensions crée de cette façon n'est il pas faut normalement? Je veux dire le code crée bien une suite de liste avec la même adresse si j'ai bien compris comme dans le faq du site sur python.

Code :
1
2
3
4
5
 
l = 5 * [5*[0]]
l[0][0] = 1
print l
[[1, 0, 0, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0], [1, 0, 0, 0, 0]]
Bonne journée,
pierre-y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2012, 16h23   #2
wiztricks
Expert Confirmé Sénior
 
Inscription : juin 2008
Messages : 3 697
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3 697
Points : 4 526
Points : 4 526
Salut,

L'important est ce que np.array() fait de la liste de listes passée en paramètres.
Que ces listes (de la liste) soient "identiques" n'a pas d'importance ici.
- W
__________________
Architectures Post-Modernes
wiztricks est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2012, 20h36   #3
dividee
Membre Expert
 
Homme
Inscription : mars 2007
Messages : 851
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Belgique

Informations forums :
Inscription : mars 2007
Messages : 851
Points : 1 182
Points : 1 182
Je sais que c'est ce le code du tutoriel, mais c'est dommage de passer par une liste Python pour initialiser un tableau numpy à 0, et d'écrire une boucle explicite quand numpy peut s'en charger...

La même chose en plus simple:
Code :
1
2
3
4
5
6
def bord(data):
    data = numpy.asarray(data)
    x,y = data.shape
    new = numpy.zeros((x+2,y+2), data.dtype)
    new[1:x+1, 1:y+1] = data
    return new
dividee est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h53.


 
 
 
 
Partenaires

Hébergement Web