Найти - Пользователи
Полная версия: Вопрос о грамотности
Начало » Python для новичков » Вопрос о грамотности
1 2 3
o7412369815963
# coding: utf8

arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

z = []
for a in arr:
z += a
print z
Ed
o7412369815963
например? притягивать сюда своё исключение за уши?
Почему бы и нет? Это только одна-две строки кода. Вполне себе ничего. По крайней мере читабельнее, чем for/else.

except Exception as e:
print e
таким способом можно не только выход из 2-х цыклов сделать но и из 100 и из функции…
Таким способом вы ловите все возможные исключения. Не смущает?
bw
import operator

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

b = reduce(operator.iadd, a, [])
..bw
knkd
bw
b = reduce(operator.iadd, a, )
import itertools

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print list(itertools.chain(*a))
-> [1, 2, 3, 4, 5, 6, 7, 8, 9]
Zubchick
bw
import operator

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

b = reduce(operator.iadd, a, [])
..bw
а через лямбды не кошерно чтоли?)
reduce(lambda x, y: x + y, a, [])
bw
> а через лямбды не кошерно чтоли?)

Как-то я их разлюбил, да, собственно, они никогда мне не нравились :-).
В данном примере мой код, ИМХО, читабельнее. Ну и еще вариант с itertools хорош.

..bw
Zubchick
bw
В данном примере мой код, ИМХО, читабельнее.
я пока не слазил и не посмотрел че такое iadd понять ничего не мог, так что не знаю уж… да еще и импорт целой библиотеки.
o7412369815963
bw
В данном примере мой код, ИМХО, читабельнее.
а если ф-ия чуть по сложнее понадобиться то “operator” пролетает. а с lambda удобно
Андрей Светлов
operator - это хорошо и быстро. Используйте его везде, где можно.
Ed
А к чему все эти лишние сущности вообще?
sum(a, [])
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB