Форум сайта python.su
Предположим, существует пара списков(х и у - обычные числа, константы):
a = [x, 1, 2, 3] b = [y, 4, 5, 6]
с={x: (1, 2, 3), y: (4, 5, 6)}
Отредактировано heso (Янв. 21, 2014 21:05:38)
Офлайн
Ну а код ваш где, который ошибку выдает?
a = [1, 2, 6, 8] b = [3, 6, 7, 9] c = {} for i in a, b: c[i[0]] = tuple(i[1:]) print(c)
Офлайн
Надо показывать код и ошибку, что бы другие могли вам помочь с вашим кодом. Вот последовательное решение вашей задачи.
>>> x=1 >>> y=2 >>> a = [x, 1, 2, 3] >>> b = [y, 4, 5, 6] >>> l=[a,b] >>> >>> c={} >>> for i in l: ... c[i[0]]=i[1:] ... >>> c {1: [1, 2, 3], 2: [4, 5, 6]}
Офлайн
c={a[0]:tuple(a[1:]),b[0]:tuple(b[1:])}
Отредактировано Rodegast (Янв. 22, 2014 01:08:27)
Офлайн
Пытался так делать:
a = [2222, 1, 2, 3] b = [3333, 4, 5, 6] c={} c={(a[0],a[1:]),(b[0],b[1:])} print(c)
Traceback (most recent call last): File "D:\Dropbox\tests\test.py", line 4, in <module> c={(a[0],a[1:]),(b[0],b[1:])} TypeError: unhashable type: 'list'
Офлайн
hesoПочти угадал
Пытался так делать:
a = [2222, 1, 2, 3] b = [3333, 4, 5, 6] c=dict([(a[0], a[1:]), (b[0], b[1:])]) print c
Офлайн