Изображения, подаваемые с экспрессом, разрезаны вертикально пополам

Чтобы быть действительно ясным, это не имеет никакого отношения к enumerate и ко всему, что относится к синтаксису понимания списка.

Это понимание списка возвращает список кортежей:

[(i,j) for i in range(3) for j in 'abc']

это список dicts:

[{i:j} for i in range(3) for j in 'abc']

список списков:

[[i,j] for i in range(3) for j in 'abc']

синтаксическая ошибка:

[i,j for i in range(3) for j in 'abc']

Что (IMHO) и путают с синтаксисом понятий словаря:

>>> {i:j for i,j in enumerate('abcdef')}
{0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f'}

И набор кортежей:

>>> {(i,j) for i,j in enumerate('abcdef')}
set([(0, 'a'), (4, 'e'), (1, 'b'), (2, 'c'), (5, 'f'), (3, 'd')])

Как заявил Оскар Лопес, вы можете просто передать нумерацию кортежа напрямую :

>>> [t for t in enumerate('abcdef') ] 
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f')]
0
задан Sam 11 March 2019 в 15:21
поделиться