vervielfachen von listindizes

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
drewsilson
User
Beiträge: 21
Registriert: Dienstag 9. Januar 2007, 12:13

vervielfachen von listindizes

Beitragvon drewsilson » Freitag 23. März 2007, 19:58

Hallo, hab mal wieder ein kleines problem:

habe zwei einfache listen:

Code: Alles auswählen

erste = [a,b,c,d]
zweite = [2,3,4,5]

jetzt würde ich gerne folgendes tun:
index 0 aus 'erste' um das index-0-fache aus 'zweite' vervielfachen,
index 1 aus 'erste' um das index-1-fache aus 'zweite' vervielfachen,
usw. bis ich folgende liste bekäme:

Code: Alles auswählen

ergebnis = [a,a,b,b,b,c,c,c,c,d,d,d,d,d]

freu mich sehr über eure hilfe,
danke schon mal,
micha
EyDu
User
Beiträge: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Freitag 23. März 2007, 20:07

Wie sieht denn dein bisheriger Ansatz aus :D ?
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Beitragvon rayo » Freitag 23. März 2007, 20:10

Hi

So kannst du das lösen:

Code: Alles auswählen

l = ['a','b','c']
l2 = [1, 4, 2]
from itertools import izip

res = []
for count, value in izip(l2, l):
    res.extend( count*[value] )
print res


Gruss
Benutzeravatar
drewsilson
User
Beiträge: 21
Registriert: Dienstag 9. Januar 2007, 12:13

Beitragvon drewsilson » Freitag 23. März 2007, 20:18

nunja, bin hier ehrlich gesagt am verzweifeln, bin auch noch frischer anfänger und war mit so einem problem noch nicht konfrontiert.(mein python-buch gibt da auch nix her). mit den üblichen list.methods wie insert, extend usw. komme ich irgendwie nicht weiter. obwohl so etwas wie

Code: Alles auswählen

for i in range(len(zweite)):
   erste.insert(erste[i]*zweite[i])


sehr praktisch wäre. Geht nur leider nicht. Aber es muss doch was vergleichbares geben, oder?
Benutzeravatar
drewsilson
User
Beiträge: 21
Registriert: Dienstag 9. Januar 2007, 12:13

Beitragvon drewsilson » Freitag 23. März 2007, 20:21

spitze! wieder was gelernt,

cheers und danke
micha :D
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 23. März 2007, 20:21

drewsilson hat geschrieben:sehr praktisch wäre. Geht nur leider nicht. Aber es muss doch was vergleichbares geben, oder?

Ja, ``zip`` und ``izip``, wie rayo bereits demonstriert hat. Ob das eine gute Idee war, dass er dir gleich den kompletten Code gegeben hat ist eine andere Sache. Der lerneffekt ist größer, wenn du selbst drauf gekommen wärest. Naja, egal. Wenn du Fragen zu rayos Code hast, kannst du sie aber immer stellen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice

Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot]