πŸ” Как Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части: простой ΠΈ понятный способ

Π’ Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ срСзы ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ numpy.array_split().

Бпособ 1: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ срСзы ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ списков:

def split_list(lst, n):
    return [lst[i:i + n] for i in range(0, len(lst), n)]

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
split_parts = split_list(my_list, len(my_list) // 2)

print(split_parts)

Бпособ 2: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ numpy.array_split() ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy:

import numpy as np

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
split_parts = np.array_split(my_list, 2)

print(split_parts)

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части

Иногда ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большим списком Π΄Π°Π½Π½Ρ‹Ρ… трСбуСтся Π΅Π³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π² языкС Python Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "slicing"

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ рассмотрим, основан Π½Π° использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "slicing" Π² Python. Ѐункция "slicing" позволяСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ части списка с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ шагом.


    # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° списка
    my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    # Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ списка Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части
    split_list = [my_list[i:i+2] for i in range(0, len(my_list), 2)]
    
    # Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… частСй
    for part in split_list:
        print(part)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм список "my_list" с числами ΠΎΡ‚ 1 Π΄ΠΎ 10. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "slicing", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части с шагом 2. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ список списков, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит Π΄Π²Π° элСмСнта.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ…, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ NumPy для раздСлСния списка Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части.

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° установлСна Π² вашСй срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Если ΠΎΠ½Π° Π½Π΅ установлСна, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:


    pip install numpy
    

ПослС установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "array_split" для раздСлСния списка Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части.


    import numpy as np
    
    # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° списка
    my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    # Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ списка Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части
    split_list = np.array_split(my_list, 2)
    
    # Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… частСй
    for part in split_list:
        print(part)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ NumPy ΠΈ создаСм список "my_list". Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ "array_split" ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NumPy для раздСлСния списка Π½Π° Π΄Π²Π΅ Ρ€Π°Π²Π½Ρ‹Π΅ части. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ список списков, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит ΠΏΡΡ‚ΡŒ элСмСнтов (Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ список исходно содСрТит 10 элСмСнтов).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ функция "array_split" Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список массивов NumPy, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ списки, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° раздСлСния списка Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части Π² языкС Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ любой ΠΈΠ· этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ.

Основной ΠΌΠ΅Ρ‚ΠΎΠ΄ основан Π½Π° использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ "slicing" ΠΈ прост Π² использовании. Однако, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ…, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ NumPy для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с этими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ΄ свои ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ потрСбности. Π£Π΄Π°Ρ‡ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ списка. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Simple. ΠžΠ±ΡƒΡ‡Π°Π΅ΠΌΡΡ python Π½Π° сайтС CheckIO #21

Python с нуля | Бписки Π² Python | ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ списков, сортировка списка, срСзы списков Π² Python

12 Бписки ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ JSON Π² Python: Π»Π΅Π³ΠΊΠΈΠΉ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ 🐍

πŸ”ŽΠšΠ°ΠΊ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±Π΅Π· умноТСния Π² Python? Π›Π΅Π³ΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±πŸ”

Как быстро Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ числа Π² Python 🐍

πŸ” Как Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π½Π° Ρ€Π°Π²Π½Ρ‹Π΅ части: простой ΠΈ понятный способ

πŸ” Как ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ мноТСства Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простыС способы ΠΈ совСты

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ np array python? ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ рСгистра Π² Python: Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΈ для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ?