Matroids Matheplanet Forum Index
Moderiert von Bilbo matph
Matroids Matheplanet Forum Index » Informatik » Vektor in Python kreieren
Autor
Universität/Hochschule Vektor in Python kreieren
evinda
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 16.12.2013
Mitteilungen: 1390
  Themenstart: 2022-01-22

Hallo!!! Ich versuche das folgende Programm in python zu schreiben: Kreieren Sie ein Vektor A mit zufällig gewählte ganze Zahlen zwischen 1 und 10. Im Anschluss, kreieren Sie einen zweiten Vektor, der die Werte von A hat, jedoch sollen zwischen jedem Zahlenpaar 2 Nullen eingefügt werden. Z.b. wenn A=np.array([1,1,1]) dann ist der neue Vektor array([1,0,0,1,0,0,1]). Ich habe den folgenden Code geschrieben: \sourceon python import numpy as np A = np.random.randint(1, 11, 5) print(A) B=[] value1=True for i in range(5): if (value1==True): B[i]=A[i] value1==False else: B[i]=0 B[i+1]=0 value1=True print(B) \sourceoff Ich bekomme die folgende Fehlermeldung: [ 1 2 8 3 10] Traceback (most recent call last): File "main.py", line 8, in B[i]=A[i] IndexError: list assignment index out of range Warum kann man nicht B[i]=A[i] benutzen? Ich hatte mir auch überlegt ob man slicing benutzen könnte, aber wusste nicht genau wie. Wäre es eine andere Möglichkeit ?


   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 3589
  Beitrag No.1, eingetragen 2022-01-22

Wenn du an eine Liste oder einen NumPy-Vektor ein Element anfügen willst, musst du append benutzen. Du könntest beispielsweise das erste Element aus A unverändert nach B übernehmen (ich gehe mal davon aus, dass A mindestens ein Element hat) \sourceon python B = np.array(A[0]) \sourceoff und die restlichen dann zusammen mit je zwei Nullen anhängen: \sourceon python np.append(B, [[0, 0, a] for a in A[1:]]) \sourceoff --zippy


   Profil
evinda
Aktiv Letzter Besuch: im letzten Quartal
Dabei seit: 16.12.2013
Mitteilungen: 1390
  Beitrag No.2, vom Themenstarter, eingetragen 2022-01-23

\quoteon(2022-01-22 15:01 - zippy in Beitrag No. 1) Wenn du an eine Liste oder einen NumPy-Vektor ein Element anfügen willst, musst du append benutzen. Du könntest beispielsweise das erste Element aus A unverändert nach B übernehmen (ich gehe mal davon aus, dass A mindestens ein Element hat) \sourceon python B = np.array(A[0]) \sourceoff und die restlichen dann zusammen mit je zwei Nullen anhängen: \sourceon python np.append(B, [[0, 0, a] for a in A[1:]]) \sourceoff --zippy \quoteoff Ich verstehe. Vielen Dank für die Hilfe ! 😃


   Profil
evinda hat die Antworten auf ihre/seine Frage gesehen.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2022 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]