Найти - Пользователи
Полная версия: Подскажите, пожалуйста, как сделать с range (без него получилось), чтобы не было ошибок
Начало » Центр помощи » Подскажите, пожалуйста, как сделать с range (без него получилось), чтобы не было ошибок
1
Mr.Geekman
Прошу помощи
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)
JOHN_16
>>> 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]
FishHook
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))
FishHook
ну или так
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))
FishHook
Ну или вот так
from itertools import chain
n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]
def flatten(lists):
     return list(chain(*lists))
print (flatten(n))
py.user.next
>>> 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]
>>>
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