IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

modifier la diagonale d'un tableau


Sujet :

Calcul scientifique Python

  1. #1
    Membre à l'essai Avatar de yugure
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 38
    Points : 21
    Points
    21
    Par défaut modifier la diagonale d'un tableau
    Bonjour,
    je souhaiterai savoir s'il existe une instruction en python permettant la modification
    de la diagonale d'un tableau. C'est à dire que si je dispose d'un tableau crée à partir
    de l'instruction np.array , par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    M=np.array([[1,2,3],[4,7,9],[8,9,7]])
    y aurait-il possibilité de remplacer la diagonale de ce tableau par des nombres quelconques de mon choix ?
    Je vous remercie d'avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Si on accède au tableau en une dimension, la diagonale est le slice [0::4].
    On part de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    >>> import numpy as np
    >>> ar = np.array([[1,2,3],[4,7,9],[8,9,7]])
    Puis on accéde aux données suivant un index 1D:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> v = ar.reshape((9,))
    >>> v
    array([1, 2, 3, 4, 7, 9, 8, 9, 7])
    >>> v[0::4]
    array([1, 7, 7])
    auquel on peut assigner de nouvelles valeurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> v[0::4] = [9,9,9]
    >>> v
    array([9, 2, 3, 4, 9, 9, 8, 9, 9])
    Et comme "v" est une "view" sur les mêmes données, on a aussi changé "l'original":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> ar
    array([[9, 2, 3],
           [4, 9, 9],
           [8, 9, 9]])
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    ou tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> M[0,0],M[1,1],M[2,2]=12,13,14
    >>> M
    array([[12,  2,  3],
           [ 4, 13,  9],
           [ 8,  9, 14]])
    Pas d'aide par mp.

Discussions similaires

  1. [Tableaux] Modifier les clés d'un tableau
    Par <nbweb> dans le forum Langage
    Réponses: 2
    Dernier message: 22/03/2007, 09h43
  2. [Tableaux] Modifier les clés d'un tableau
    Par licorne dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2007, 15h51
  3. Modifier un script utilisant un tableau
    Par Theberge43 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 17/12/2006, 21h54
  4. Réponses: 3
    Dernier message: 12/06/2006, 12h04
  5. Réponses: 6
    Dernier message: 16/01/2006, 13h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo