Da muss es doch was bei Itertools geben?

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.
Antworten
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Hallo,

Ich habe zwei Listen und möchte daraus ein Dict erstellen, die erste Liste als Keys, die zweite als Value zum jeweiligen Key.
Gibt's da was bei Itertools, was ich gerade übersehe oder müsste ich Folgendes schreiben:

Code: Alles auswählen

for row_num in xrange(1, sheet.nrows):
    values = sheet.row_values(row_num, 0, sheet.ncols)
    csv_dict = dict()
    for index, title in enumerate(titles):
        csv_dict[title] = values[index]
    print csv_dict
    csv_sink.writerow(csv_dict)
(Das funktioniert zwar, fühlt sich aber eher umständlich an).
Benutzeravatar
naeg
User
Beiträge: 33
Registriert: Dienstag 27. April 2010, 11:53

Ich versteh deinen Code zwar nicht ganz, aber wenn ich aus zwei Listen ein Dict erstellen müsste, würde ich das so tun:

Code: Alles auswählen

keys = [1, 2, 3, 4]
values = ['a', 'b', 'c', 'd']
dictionary = dict(zip(keys, values))
mfg naeg
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

okay, das war mir zu einfach. ;) :oops:
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Oh bei itertools gibts tatsächlich was: `itertools.izip` :twisted:
Antworten