Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как сделать разделение списка на списки python?

  1. Как сделать разделение списка на списки python?

    Йо, ребят! Пишу код на Python и нужно сделать разделение списка на списки. Каким-то образом надо брать большой список и дробить его на части с заданным кол-вом элементов в каждом. Реально ли это сделать без сторонних библиотек? Подкиньте примеры кода или способы, плиз. Было бы круто понимать, как это можно реализовать с условием, что размер исходного списка и размер дробежек может меняться. Заранее спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Да, бро, можно сделать это чисто с помощью встроенных инструментов Python.
    Вот пример кода, который делает такую штуку:

    Программный код:

    def split_list
    (lstsize):

    return [
    lst[i:size] for i in range(0len(lst), size)]



    # Пример использования

    my_list = [123456789]

    print(
    split_list(my_list3))

    # Выдаст: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
    Это работает шикарно даже если размер списка меняется.

  4. Цитата Сообщение от Таня
    Да, бро, можно сделать это чисто с помощью встроенных инструментов Python.
    Вот пример кода, который делает такую штуку:

    Программный код:

    def split_list
    (lstsize):

    return [
    lst[i:size] for i in range(0len(lst), size)]



    # Пример использования

    my_list = [123456789]

    print(
    split_list(my_list3))

    # Выдаст: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
    Это работает шикарно даже если размер списка меняется.
    Классный код! Работает, как часы. Тестил на своём проекте, всё гуд!

  5. Можешь ещё заюзать itertools из стандартной библиотеки:

    Программный код:

    from itertools import islice

    def split_list
    (lstsize):

    it iter(lst)

    return [list(
    islice(itsize)) for _ in range(0len(lst), size)]



    # Пример использования

    my_list = [123456789]

    print(
    split_list(my_list3))

    # Получаем: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
    С itertools задачу можно сделать ещё проще.

  6. Цитата Сообщение от Modok
    Можешь ещё заюзать itertools из стандартной библиотеки:

    Программный код:

    from itertools import islice

    def split_list
    (lstsize):

    it iter(lst)

    return [list(
    islice(itsize)) for _ in range(0len(lst), size)]



    # Пример использования

    my_list = [123456789]

    print(
    split_list(my_list3))

    # Получаем: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
    С itertools задачу можно сделать ещё проще.
    Хм, интересное решение через itertools. Надо будет проверить скорость на больших данных.

  7. Да тут всё просто, братан! Вот ещё один подход без всяких импортов:

    Программный код:

    def split_list
    (lstsize):

    result = []

    for 
    i in range(0len(lst), size):

    result.append(lst[i:size])

    return 
    result



    # Пример использования

    my_list = [123456789]

    print(
    split_list(my_list3))

    # Получаем: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
    Код простой и понятный, даже не нужно напрягаться.

  8. Цитата Сообщение от JuliaSky
    Да тут всё просто, братан! Вот ещё один подход без всяких импортов:

    Программный код:

    def split_list
    (lstsize):

    result = []

    for 
    i in range(0len(lst), size):

    result.append(lst[i:size])

    return 
    result



    # Пример использования

    my_list = [123456789]

    print(
    split_list(my_list3))

    # Получаем: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
    Код простой и понятный, даже не нужно напрягаться.
    Реально просто! Главное, что работает без лишних заморочек.

  9. А для более продвинутых: можно попробовать numpy, если не против сторонних библиотек:

    Программный код:

    import numpy 
    as np

    def split_list
    (lstsize):

    return 
    np.array_split(lstlen(lst// size + (len(lst) % size > 0))



    # Пример использования

    my_list = [123456789]

    print(
    split_list(my_list3))

    # Получаем: [array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9])] 
    Но правда тут уже numpy нужно подключить.

  10. Цитата Сообщение от Золотая
    А для более продвинутых: можно попробовать numpy, если не против сторонних библиотек:

    Программный код:

    import numpy 
    as np

    def split_list
    (lstsize):

    return 
    np.array_split(lstlen(lst// size + (len(lst) % size > 0))



    # Пример использования

    my_list = [123456789]

    print(
    split_list(my_list3))

    # Получаем: [array([1, 2, 3]), array([4, 5, 6]), array([7, 8, 9])] 
    Но правда тут уже numpy нужно подключить.
    О, numpy рулит! Но не всегда стоит разводить папин огород, если обычные методы работают.

Страница 1 из 2 12 ПоследняяПоследняя