Créer des vides de la matrice Python
Je veux simplement créer un vide 10*3*2 tableau avec Python.
J'ai d'abord pensé à celle-ci, mais ce n'est pas de travail:
parameters = [ [ [] * 2 ]*3 ] * 10
cela me donne un vecteur de dix vecteurs, avec trois [] éléments:
[[[], [], []], [[], [], []], [[], [], []], [[], [], []], [[], [], []],
[[], [], []], [[], [], []], [[], [], []], [[], [], []], [[], [], []]]
qui est , si je veux accéder aux paramètres[0][0][1] je suis en dehors des limites, alors que je veux une dimension 2 pour les intimes de vecteurs le long de la troisième dimension.
puis j'ai pensé de ce
[ [ [[] * 2] ]*3 ] * 10
Je pensais que [[] * 2]
serait maintenant, amenez-moi la chose que je veux, une intime de deux éléments du vecteur. Je obtenir
[[[[]], [[]], [[]]], [[[]], [[]], [[]]], [[[]], [[]], [[]]],
[[[]], [[]], [[]]], [[[]], [[]], [[]]], [[[]], [[]], [[]]],
[[[]], [[]], [[]]], [[[]], [[]], [[]]], [[[]], [[]], [[]]], [[[]], [[]], [[]]]]
Alors, comment le faire, ou comment échapper à cette initialisation?
Kd rgds.
OriginalL'auteur octoback | 2012-11-12
Vous devez vous connecter pour publier un commentaire.
Je vous recommande d'utiliser Numpy pour ce genre de trucs. Il fait accéder à des colonnes ou des lignes beaucoup plus facile. Pour votre cas d'utilisation que vous souhaitez faire
Numpy permettra également de mieux prendre soin de vos données et met en œuvre beaucoup de l'algèbre matricielle en Fortran ou en C donc ça va être beaucoup plus rapide dans la (possible) à l'avenir, lorsque vous êtes en train de faire la multiplication de matrice et l'aime.
OriginalL'auteur Matti Lyra
Tout d'abord, vous devez insérer quelque chose dans le plus profond de la liste (comme Aucun). Deuxièmement, lorsque vous utilisez la multiplication du ultrapériphériques liste il réplique références à l'intérieur de la liste, de sorte que lorsque vous modifiez un élément, vous devez également modifier cet élément dans toutes les autres listes:
Par conséquent, vous devriez plutôt utiliser des interprétations de la liste:
Cependant, je vous recommande d'utiliser
numpy
comme le suggère l'une des autres réponses.OriginalL'auteur btel
Je ferais quelque chose comme cela, à l'aide de cette listes créées sont des objets différents (j'.e différents
id()
):OriginalL'auteur Ashwini Chaudhary
Voici l'un des problèmes avec ce que vous faites.
Disons que vous êtes en train de créer un tableau, comme ceci:
Semble bon jusqu'ici. Mettons quelque chose au tableau.
Woah! Nous avons mis 1 élément en elle, mais elle a tout changé! Comment c'est arrivé?
Bien, il semble que nous avons 60 objets de la liste. Cependant, nous avons de 60 références à un objet de la liste. Changer, changer tous.
TL;DR: N'utilisez pas l'opérateur produit sur une liste de listes.
OriginalL'auteur Nick ODell
OriginalL'auteur V R Haritha