Форум сайта python.su
Прошу помощи
n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]] def flatten(lists): results = [] for numbers in range(len(lists)): for i in range(len(lists[numbers])): results.append(numbers[i]) return results print flatten(n)
Отредактировано Mr.Geekman (Март 28, 2016 22:54:23)
Офлайн
>>> def flatten(lists): ... result = [] ... for numbers in range(len(lists)): ... for item in range(len(lists[numbers])): ... result.append(lists[numbers][item]) ... return result ... >>> flatten(n) [1, 2, 3, 4, 5, 6, 7, 8, 9]
Офлайн
Mr.GeekmanА он тут нафиг не нужен
как сделать с range
n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]] def flatten(lists): result = [] for numbers in lists: for item in numbers: result.append(item) return result print (flatten(n))
Офлайн
ну или так
from functools import reduce from operator import add n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]] def flatten(lists): return reduce(add, lists) print (flatten(n))
Офлайн
Ну или вот так
from itertools import chain n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]] def flatten(lists): return list(chain(*lists)) print (flatten(n))
Офлайн
>>> def flatten(lists): ... return sum(lists, []) ... >>> n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]] >>> flatten(n) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>>
Отредактировано py.user.next (Март 29, 2016 06:46:45)
Офлайн