Seite 1 von 1

Aus zwei Listen eine machen...

Verfasst: Mittwoch 1. August 2007, 08:01
von acidk
Morgen Leute!

Ich möchte aus zwei Listen eine machen - nicht einfach nur addieren, sondern so, dass eine Liste KOMPLETT die Werte, die andere KOMPLETT die Values darstellt....
:shock:


Besten Dank!

Verfasst: Mittwoch 1. August 2007, 08:11
von mkesper
Das verstehe ich nicht, sorry.
Werte != Values?
2 == 1?

Verfasst: Mittwoch 1. August 2007, 08:12
von BlackJack
Hä? Ich denke Du willst *eine* Liste und dann schreibst Du von zweien!? Gib mal ein Beispiel.

Verfasst: Mittwoch 1. August 2007, 11:22
von CrackPod
Vielleicht will er die Key und die Values eines Dictionaries in jeweils eine Liste packen(macht aber im zusammenhang mit der Frage auch keinen Sinn.-.-)
LG

Verfasst: Mittwoch 1. August 2007, 13:28
von acidk
:oops: hab mich wohl ein bisschen Mißverständlich ausgedrückt...

Ich möchte aus den beiden Listen 1+2 das Dict. dict machen.

Liste1 soll als Key, Liste2 als Value genutzt werden.

Wie kann ich es realisieren, dass ich aus beiden Listen EIN dict. mache, sodass gleich eine Zuordnung von "blau":1 usw...
vorgenommen wird???

Im Dict soll Pos. 1 der Liste1 Pos.1 der Liste2 usw. zugewiesen werden.


#
-*- coding: cp1252 -*-
liste1 =["blau", "grün", "rot"]

liste2 =[1, 2, 3]

dict={"blau":1, "grün":2, "rot":3}

Code: Alles auswählen


Besten Dank

Verfasst: Mittwoch 1. August 2007, 13:54
von EyDu
Sollte als Beispiel reichen:

Code: Alles auswählen

>>> l1=[1, 2, 3]
>>> l2=["eins", "zwei", "drei"]
>>> dict(zip(l1, l2))
{1: 'eins', 2: 'zwei', 3: 'drei'}

Verfasst: Mittwoch 1. August 2007, 13:57
von pythonist
Das sollte es tun:

Code: Alles auswählen

l1 = ["a","b", "c"]
l2 = [1,2,3]
dict = {}

for i in range(len(l1)):
    dict[l1[i]] = l2[i]

print repr(dict)
pythonist

Verfasst: Mittwoch 1. August 2007, 14:10
von The Spirit
ich hätte noch ne while schleife im angebot, aber ich glaube das sind schon gute beispiele

@EyDu: das zip kannte ich noch garnicht und ist echt praktisch.
muss ich mir gleich merken

Verfasst: Mittwoch 1. August 2007, 16:11
von acidk
8) Großartig! Vielen Dank!

Verfasst: Donnerstag 2. August 2007, 00:19
von thelittlebug
ich kanns nicht lassen :)

der vollständigkeit wegen meine bash lösung:

Code: Alles auswählen

thelittlebug@tlb-desktop ~/Desktop $ echo -e "1\n2\n3" > keys.txt
thelittlebug@tlb-desktop ~/Desktop $ echo -e "a\nb\nc" > values.txt
thelittlebug@tlb-desktop ~/Desktop $ paste keys.txt values.txt
1       a
2       b
3       c
na gut, ich halt wieder den mund :D
lgherby