πŸ”ΉΠšΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π½Π° списки Python: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈπŸ”Ή


# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ split() для раздСлСния списка Π² Python
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
lst = [1, 2, 3, 4, 5, 6]
chunk_size = 3
result = [lst[i:i+chunk_size] for i in range(0, len(lst), chunk_size)]
print(result)

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

Как Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π½Π° списки Π² Python

Когда Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π½Π° нСсколько подсписков Π² Python, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим нСсколько способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

1. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ chunked

Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `chunked` Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ `more_itertools`, которая позволяСт Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ список Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ количСство подсписков фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.


    from more_itertools import chunked
    
    my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    chunk_size = 3
    
    sublists = list(chunked(my_list, chunk_size))
    print(sublists)
    

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

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

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ послСдний подсписок ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ссли Π΄Π»ΠΈΠ½Π° исходного списка Π½Π΅ дСлится Π½Π°Ρ†Π΅Π»ΠΎ Π½Π° `chunk_size`.

2. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° ΠΈ срСзов

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π½Π° подсписки ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ раздСлСния, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈ срСзами для создания подсписков.


    my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    chunk_sizes = [2, 3, 5]
    
    sublists = []
    start = 0
    
    for size in chunk_sizes:
        sublist = my_list[start:start+size]
        sublists.append(sublist)
        start += size
    
    print(sublists)
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ список `chunk_sizes`, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ подсписка. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ пустой список `sublists`, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ подсписки. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈΠ· `chunk_sizes`, создаСм подсписок с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСза `my_list[start:start+size]` ΠΈ добавляСм Π΅Π³ΠΎ Π² `sublists`. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ `start` ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для установки Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ подсписка.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

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

3. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° списка

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π½Π° подсписки - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ `zip`.


    def split_list_into_sublists(my_list, chunk_size):
        return [my_list[i:i+chunk_size] for i in range(0, len(my_list), chunk_size)]
    
    my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    chunk_size = 4
    
    sublists = split_list_into_sublists(my_list, chunk_size)
    print(sublists)
    

ΠœΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ `split_list_into_sublists`, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ список `my_list` ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ `chunk_size`. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка для создания подсписков с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСза `my_list[i:i+chunk_size]`. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список подсписков.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

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

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли нСсколько способов раздСлСния списка Π½Π° подсписки Π² Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго соотвСтствуСт вашим потрСбностям ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ΅ раздСлСния списков Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

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

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

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

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

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

πŸ” Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python IDLE | ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π°Ρ инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… πŸ”§

πŸ”‘ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ½ΡƒΡŽ Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Ρƒ Π½Π° Python: пошаговоС руководство πŸ”‘

πŸ”§ Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python Ρ‡Π΅Ρ€Π΅Π· pip Π½Π° Mac OS: простой Π³ΠΈΠ΄

πŸ”ΉΠšΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ список Π½Π° списки Python: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈπŸ”Ή

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½Π° Python: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ инструкции 🐍

🧠 Как ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ нСйросСти Π½Π° Python: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ инструкции 🐍

πŸ” Как ΡƒΠ·Π½Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python πŸ”