Seite 1 von 1

Da muss es doch was bei Itertools geben?

Verfasst: Dienstag 21. Juni 2011, 14:35
von mkesper
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).

Re: Da muss es doch was bei Itertools geben?

Verfasst: Dienstag 21. Juni 2011, 14:51
von naeg
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))

Re: Da muss es doch was bei Itertools geben?

Verfasst: Dienstag 21. Juni 2011, 14:52
von mkesper
okay, das war mir zu einfach. ;) :oops:

Re: Da muss es doch was bei Itertools geben?

Verfasst: Dienstag 21. Juni 2011, 15:19
von cofi
Oh bei itertools gibts tatsächlich was: `itertools.izip` :twisted: