Sitelet https://www.datacamp.com/tr/tutorial/python-split-list
Ana içeriğe atla

Python'da Listeler Nasıl Bölünür: Temel Örnekler ve İleri Düzey Yöntemler

Dilimleme, liste üreteçleri ve itertools gibi tekniklerle Python listelerini nasıl böleceğinizi öğrenin. Her yöntemi ne zaman kullanmanız gerektiğini keşfedin ve verilerinizi en iyi şekilde yönetin.
Güncel 3 Eki 2026  · 11 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Python listeleri, sıralı öğeleri saklamak için kullanılan dinamik, değiştirilebilir dizi veri tipleridir. Listeleri bölmek, verileri verimli bir şekilde işlemek ve analiz etmek için Python'da yaygın bir görevdir. 

Beceri setinizi keskinleştirmek için Data Analyst with Python kariyer yolunu takip ederek veri analizi hakkında daha fazla bilgi edinebilirsiniz; bu yol, pratik örnekler ve en iyi uygulamalarla birlikte Python'da listeleri bölmenin çeşitli yöntemlerine derinlemesine iner. 

Bu tekniklerde ustalaşmak kodlama becerilerinizi geliştirecek, betiklerinizi daha verimli ve bakımı kolay hale getirecektir. Hadi başlayalım.

Hızlı Cevap: Python'da Liste Nasıl Bölünür

  • Python'da bir listeyi bölmenin en basit yolu : operatörüyle dilimlemedir. Örneğin, bir listeyi şu şekilde bölebiliriz: split_list = my_list[:5]; bu, listeyi beşinci indiste böler. 

  • Bu makalenin geri kalanında, liste üreteçleri, itertools, numpy ve daha fazlasını içeren diğer bölme yöntemlerini inceleyeceğiz. Her yöntemin farklı avantajları vardır ve farklı kullanım senaryoları için uygundur; birazdan göreceğiz.

En yaygın yöntem: dilimlemeyle liste bölme

Python'da belirli bir indiste listeyi bölmek muhtemelen en yaygın tekniktir. Dilimleme yöntemi, Python listesinin belirtilen indekste alt listelere ayrılmasını sağlar. Aşağıda Python'da dilimlemenin nasıl uygulanacağına dair adım adım bir rehber bulunmaktadır.

  • Listeyi Tanımlayın: Diyelim ki elinizde [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] listesi var ve bunu belirli bir n indeksinde bölmek istiyorsunuz.
  • Bölme İndeksini Belirleyin: Listeyi hangi n indeksinde dilimlemek istediğinizi belirtin.
  • İlk Dilimi Oluşturun: Aşağıdaki kodda, listenin başından n indeksine kadar (n dahil değil) olan elemanları içeren first_slice oluşturun.
  • İkinci Dilimi Oluşturun: second_slice değişkenini n indeksinden listenin sonuna kadar olan tüm elemanları içerecek şekilde tanımlayın.
# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Index where the list will be split
n = 4

# Slice the list from the beginning to the nth index (not inclusive)
first_slice = my_list[:n]

# Slice the list from the nth index to the end
second_slice = my_list[n:]

# Print the first slice of the list
print("First slice:", first_slice)

# Print the second slice of the list
print("Second slice:", second_slice)

# Expected output:
# First slice: [1, 2, 3, 4]
# Second slice: [5, 6, 7, 8, 9, 10]

Python'da Liste Bölmeyi Anlama

Python'da liste dilimleme, ana listeden bir alt liste ya da alt listeler çıkarmayı içerir. Bir listeyi bölmek istediğinizde, doğru alt listeyi elde etmek için dilimleme sözdizimini iyi anlamanız gerekir. Dilimleme sözdizimi slice[start:stop:step] şeklindedir.

  1. Start, dilimlemenin başladığı indeksi belirtir.
  2. Stop, dilimlemenin bittiği indeksi belirtir.
  3. Step, dilimleme sırasındaki aralığı belirtir (varsayılan 1).
# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list from index 2 to 7 (index 2 inclusive, index 7 exclusive)
# This will include elements at index 2, 3, 4, 5, and 6
sublist = my_list[2:7]

# Print the sliced sublist
print(sublist) 

# Expected output: [3, 4, 5, 6, 7]

Yukarıdaki koda göre, alt liste 7. indeksi içermediği için dilimleme 2. indeksten 6. indekse kadardır.

Kod okunabilirliği ve verimliliği açısından Python'da liste bölmenin faydaları şunlardır:

  • Veri Yönetimini Basitleştirme: Verileri yönetilebilir parçalara ayırarak veri bilimciler, makine öğreniminde eğitim ve test verilerini kolayca ayırabilir.
  • Modülerliği Artırma: Belirli alt listelerle çalışan fonksiyonlar yazmak kodunuzun modülerliğini artırır.
  • Performansı Optimize Etme: Küçük liste parçaları kullanmak, tüm listelere kıyasla daha hızlı işleme sağlar.
  • Bellek Verimliliğini Artırma: Yöntem, altta yatan verileri kopyalamadan parçalar oluşturur; bu da bellek açısından verimlidir.

Python'da Listeleri Bölmenin Farklı Teknikleri

Python'da bir listeyi bölmenin farklı yöntemleri vardır. Aşağıda bir veri uzmanının uygulamada karşılaşabileceği yaygın örnekler yer almaktadır.

Liste dilimlemeyi kullanma

Python'da dilimleme, listeyi indekste bölmek için : operatörünü kullanır. Bu yöntem, dilimlemenin başlangıç ve bitişini belirtmek için indekslemeyi kullanır.

Dilimlemenin farklı teknikleri şunlardır:

Pozitif indeksle dilimleme

Bu yöntem, listedeki öğelere soldan sağa doğru ilerleyen pozitif indeks değerleriyle erişir.

# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list from index 2 to 7 (index 2 inclusive, index 7 exclusive)
# This will include elements at index 2, 3, 4, 5, and 6
sublist = my_list[2:7]

# Print the sliced sublist
print(sublist) 

# Expected output: [3, 4, 5, 6, 7]

Negatif indeksle dilimleme

Bu Python liste bölme yöntemi, listedeki son öğeden başlayarak sağdan sola ilerleyen negatif indeks değerlerini kullanır.

# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list to get the last 5 elements
sublist = my_list[-5:]

# Print the sliced sublist containing the last 5 elements
print(sublist)

# Slice the list to get all elements except the last 3
sublist = my_list[:-3]

# Print the sliced sublist containing all but the last 3 elements
print(sublist)

# Expected output:
# [6, 7, 8, 9, 10]
# [1, 2, 3, 4, 5, 6, 7]

Adım (step) kullanma

Bu yaklaşım, farklı öğelere erişirken belirli koşulları kullanarak listeyi böler.

# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list to get every second element, starting from the beginning
sublist = my_list[::2]

# Print the sliced sublist containing every second element
print(sublist) 

# Slice the list to get every second element, starting from index 1
sublist = my_list[1::2]

# Print the sliced sublist containing every second element, starting from index 1
print(sublist) 

# Slice the list to get the elements in reverse order
sublist = my_list[::-1]

# Print the sliced sublist containing the elements in reverse order
print(sublist) 

# Expected output:
# [1, 3, 5, 7, 9]
# [2, 4, 6, 8, 10]
# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

Indeksleri atlama

Bu yöntem, Python listesini yalnızca gerekli öğeleri döndürerek dilimler.

# Define a list of integers from 1 to 10
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Slice the list from the start to index 5 (index 5 not inclusive)
sublist = my_list[:5]

# Print the sliced sublist containing elements from the start to index 4
print(sublist) 

# Slice the list from index 5 to the end
sublist = my_list[5:]

# Print the sliced sublist containing elements from index 5 to the end
print(sublist) 

# Slice the list to get the entire list
sublist = my_list[:]

# Print the sliced sublist containing the entire list
print(sublist) 

# Expected output:
# [1, 2, 3, 4, 5]
# [6, 7, 8, 9, 10]
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Liste üreteçlerini kullanma

Python liste üreteci, mevcut listenin değerlerine göre listeyi parçalara ayırmanıza olanak tanır.

# Define a function to split a list into chunks of a specified size
def split_list(lst, chunk_size):
    # Use a list comprehension to create chunks
    # For each index 'i' in the range from 0 to the length of the list with step 'chunk_size'
    # Slice the list from index 'i' to 'i + chunk_size'
    return [lst[i:i + chunk_size] for i in range(0, len(lst), chunk_size)]

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Split the list into chunks of size 3 using the split_list function
chunks = split_list(my_list, 3)

# Print the resulting list of chunks
print(chunks)

# Expected output:
# [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15]]

Yukarıdaki kod, listeyi üçer öğeden oluşan n parçalara ayırarak her biri 3 değer içeren yeni bir liste döndürür.

Itertools kullanma

Python'da itertools kullanarak liste bölme, veriyi yineleme yoluyla dönüştürmek için bu Python modülünü kullanır.

# Import the islice function from the itertools module
from itertools import islice
# Define a function to yield chunks of a specified size from an iterable
def chunks(iterable, size):
    # Create an iterator from the input iterable
    iterator = iter(iterable)
    
    # Loop over the iterator, taking the first element in each iteration
    for first in iterator:
        # Yield a list consisting of the first element and the next 'size-1' elements from the iterator
        yield [first] + list(islice(iterator, size - 1))

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Convert the generator returned by the chunks function into a list of chunks
chunked_list = list(chunks(my_list, 3))

# Print the resulting list of chunks
print(chunked_list)

# Expected output:
# [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15]]

numpy kullanma

Python'daki numpy kütüphanesi, dizileri alt listelere bölmek için kullanışlıdır. .array_split() fonksiyonu, bölme sayısını belirttiğinizde bölmeye olanak tanır.

# Import the numpy library and alias it as np
import numpy as np

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Use numpy's array_split function to split the list into 3 chunks
chunks = np.array_split(my_list, 3)

# Convert each chunk back to a regular list and print the resulting list of chunks
print([list(chunk) for chunk in chunks])

# Expected output:
# [[np.int32(1), np.int32(2), np.int32(3), np.int32(4), np.int32(5)], [np.int32(6), np.int32(7), np.int32(8), np.int32(9), np.int32(10)], [np.int32(11), np.int32(12), np.int32(13), np.int32(14), np.int32(15)]]

Listeleri parçalara bölme

Aşağıdaki Python fonksiyonu da bir listeyi parçalara ayırmanıza olanak tanır. Bu parçalar, kullanıcının ihtiyaç duyduğu sayıya göre özelleştirilebilir.

# Define a function to split a list into chunks of a specified size
def split_into_chunks(lst, chunk_size):
    chunks = []  # Initialize an empty list to store chunks
    
    # Iterate over the list with a step of chunk_size
    for i in range(0, len(lst), chunk_size):
        # Slice the list from index 'i' to 'i + chunk_size' and append it to chunks
        chunks.append(lst[i:i + chunk_size])
    
    return chunks  # Return the list of chunks

# Define a list of integers from 1 to 16
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

# Split the list into chunks of size 4 using the split_into_chunks function
chunks = split_into_chunks(my_list, 4)

# Print the resulting list of chunks
print(chunks)

# Expected output:
# [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]

Koşullara göre listeleri bölme

Python'da bir listeyi bölmek istediğinizde, alt liste için bazı kural/koşullar belirleyebilirsiniz. Bu yöntem, bu koşulları karşılayan bir alt liste oluşturmanıza olanak tanır.

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# List comprehension to filter elements divisible by 3
div_3 = [x for x in my_list if x % 3 == 0]

# List comprehension to filter elements not divisible by 3
not_div_3 = [x for x in my_list if x % 3 != 0]

# Print the list of elements divisible by 3
print(div_3)

# Print the list of elements not divisible by 3
print(not_div_3)

# Expected output:
# [3, 6, 9, 12, 15]
# [1, 2, 4, 5, 7, 8, 10, 11, 13, 14]

for döngülerini kullanma

for döngüleri de Python'da listeleri yineleme ve koşullara göre bölmek için kullanılabilir.

# Define a function to split a list into sub-lists of size n
def split_by_n(lst, n):
    # Use a list comprehension to create sub-lists
    # For each index 'i' in the range from 0 to the length of the list with step 'n'
    # Slice the list from index 'i' to 'i + n'
    return [lst[i:i + n] for i in range(0, len(lst), n)]

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Split the list into sub-lists of size 5 using the split_by_n function
sub_lists = split_by_n(my_list, 5)

# Print the resulting list of sub-lists
print(sub_lists) 

# Expected output:
# [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]

zip() fonksiyonunu kullanma

Python'da zip() fonksiyonunu da eşleştirme yoluyla liste bölmek için kullanabilirsiniz.

# Define two lists: list1 containing integers from 1 to 10, and list2 containing letters from 'a' to 'j'
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

# Use the zip function to pair corresponding elements from list1 and list2 into tuples
paired = list(zip(list1, list2))

# Print the list of paired tuples
print(paired)

# Expected output:
# [(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e'), (6, 'f'), (7, 'g'), (8, 'h'), (9, 'i'), (10, 'j')]

enumerate() fonksiyonunu kullanma

enumerate() fonksiyonu, indeks koşullarını kullanarak Python listelerini böler. Bu fonksiyon, listeyi eşit büyüklükte parçalara ayırmak için yinelemeden yararlanır.

# Define a list of integers from 1 to 15
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

# Define the chunk size for splitting the list
chunk_size = 5

# Create a list of empty lists, one for each chunk
split_list = [[] for _ in range(chunk_size)]

# Iterate over the elements and their indices in my_list
for index, value in enumerate(my_list):
    # Calculate the index of the sublist where the current value should go using modulo operation
    sublist_index = index % chunk_size
    
    # Append the current value to the corresponding sublist in split_list
    split_list[sublist_index].append(value)

# Print the list of sublists after splitting my_list into chunks
print(split_list)

# Expected output:
# [[1, 6, 11], [2, 7, 12], [3, 8, 13], [4, 9, 14], [5, 10, 15]]

Python'da string'i listeye bölme

split() yöntemini kullanma

split() yöntemi, belirtilen bir ayırıcıya göre bir string'i Python'da bir listeye böler. Yöntem, verilen string'deki ayırıcı sayısına göre alt dizeleri döndürür.

# Define a string
myString = "Goodmorning to you"

# Split the string into a list of words based on whitespace (default separator)
my_list = myString.split()

# Print the resulting list
print(my_list) 

# Expected output: ['Goodmorning', 'to', 'you']

splitlines() yöntemini kullanma

splitlines() yöntemi, yeni satır karakterine göre string'i Python'da listeye böler.

# Define a string with newline characters
myString = "Goodmorning\nto\nyou"

# Split the string into a list of lines based on newline characters
my_list = myString.splitlines()

# Print the resulting list
print(my_list)

# Expected output: ['Goodmorning', 'to', 'you']

partition() yöntemini kullanma

partition() yöntemi, verilen ayırıcıyı kullanarak string'leri Python'da listelere böler. Bu yöntem üç parça döndürür; ayırıcıdan önceki string, ayırıcı ve ayırıcıdan sonraki her şey bir liste olarak.

# Define a string with a delimiter '/'
myString = "Goodmorning/to you"

# Use the partition() method to split the string into three parts based on the first occurrence of '/'
my_list = myString.partition('/')

# Print the resulting tuple
print(my_list)

# Expected output: ('Goodmorning', '/', 'to you')

Düzenli ifadeleri kullanma

Python'da düzenli ifadeler de bir string'i listeye bölmek için kullanılabilir. Aşağıdaki örnek, bunun boşluk karakterlerine göre nasıl yapılacağını gösterir.

# Import the 're' module for regular expressions
import re

# Define a string
myString = "Goodmorning to you"

# Use re.split() to split the string based on whitespace ('\s' matches any whitespace character)
# Returns a list of substrings where the string has been split at each whitespace
my_list = re.split('\s', myString)

# Print the resulting list
print(my_list)

# Expected output: ['Goodmorning', 'to', 'you']

Karşılaştırma tablosu

Aşağıdaki tablo, farklı tekniklerin ne zaman faydalı olabileceğini hızlıca görmenizi sağlar. Pratikte, aynı teknik birçok durumda belirgin performans farkları olmadan işe yarayabilir; bu nedenle belirli bir tekniğin en faydalı olduğu durumlara ilişkin vurgular bir miktar abartılı olabilir. 

Teknik Kullanım Durumu Ne Zaman Yararlıdır
Dilimleme Bir listeyi belirli bir indeks ya da indeks aralığında bölme. Basit, düz bölmeler için kullanışlıdır.
Liste Üreteçleri Listedeki değerlere veya koşullara göre alt listeler oluşturma. Daha karmaşık, ölçüt tabanlı bölmeler için kullanışlıdır.
itertools.islice Bir yineleyici kullanarak listeyi belirli boyutta parçalara bölme. Büyük listeleri verimli biçimde işlemek için kullanışlıdır.
numpy.array_split İstenilen bölme sayısına göre dizileri alt listelere ayırma. Sayısal verileri verimli biçimde işlemek için kullanışlıdır.
Koşul Tabanlı Bölme Örneğin bölünebilirlik gibi koşullara göre bir listeyi bölme. Veriyi anlamlı alt listelere ayırmak için kullanışlıdır.
for Döngüleri Belirli bir boyutta alt listeler oluşturmak için liste üzerinde yineleme. Bölme süreci üzerinde daha fazla kontrol gerektiğinde kullanışlıdır.
zip() Fonksiyonu İki listedeki öğeleri eşleştirme. Birbiriyle ilişkili iki listeden veriyi birleştirmek için kullanışlıdır.
enumerate() Fonksiyonu Genellikle eşit boyutlu parçalar için indeks koşullarını kullanarak listeleri bölme. Eşit dağıtılmış alt listeler oluşturmak için kullanışlıdır.
split() Yöntemi Belirli bir ayırıcıya göre string'leri listelere bölme. Metin verisi işleme için kullanışlıdır.
splitlines() Yöntemi Yeni satır karakterlerine göre string'leri listelere bölme. Çok satırlı metin verisini okumak için kullanışlıdır.
partition() Yöntemi Belirli bir ayırıcıya göre string'leri üç parçaya bölme. Belirli metin işleme senaryoları için kullanışlıdır.
Düzenli İfadeler Karmaşık desenlere göre string'leri listelere bölmek için regex kullanma. Gelişmiş metin verisi işleme için kullanışlıdır.

Yaygın Hatalar ve Bunlardan Kaçınma Yolları

Bir veri uzmanı, Python'da listeleri bölerken bazı yaygın hatalarla karşılaşabilir. Aşağıda bu hatalardan bazıları ve bunlardan nasıl kaçınılacağı yer almaktadır.

Bir farkla kaymalar (off-by-one) hataları

Off-by-one hatası, temel dilimleme sırasında listede gerekenden bir indeks az ya da fazla dahil ettiğinizde ortaya çıkar.

my_list = [1, 2, 3, 4, 5]

# Trying to get sublist from index 2 to 4, inclusive
sublist = my_list[2:5]  # Correct: my_list[2:5]
print(sublist)

# Incorrect usage:
sublist = my_list[2:4]  # Incorrect, excludes index 4
print(sublist)

# Expected output:
# [3, 4, 5]
# [3, 4]

Bu hatadan kaçınmak için, Python'daki indeksleme sırasını anlayın ve indeksleme yaparken neyin dahil edilip edilmeyeceğini bilin.

Kullanılan paketlerle ilgili hatalar

Özellikle bölme yöntemi Python modülleri gerektirdiğinde paketlerle ilgili hatalarla karşılaşabilirsiniz. Örneğin numpy, re ve itertools paketleri. Bu hatadan kaçınmak için paketlerin doğru şekilde yüklendiğinden ve uyumlu sürümlerin kullanıldığından emin olun.

Köşe durumlarını (edge cases) ele alma

Python'da liste bölmede bazı senaryoları hesaba katmadığınızda köşe durumları ortaya çıkabilir. Örneğin, aşağıdaki kod parçacığı, liste yalnızca 4 öğe içerirken listeleri 5'lik parçalara bölmeye çalışan bir fonksiyonu göstermektedir.

import numpy as np

my_list = [1, 2, 3, 4]
chunks = np.array_split(my_list, 5)
print(chunks)

# Expected output: 
# [array([1]), array([2]), array([3]), array([4]), array([], dtype=int32)]

Bu hatadan kaçınmak için, aşağıda gösterildiği gibi köşe durumunu ele almak üzere koşullu ifadeler kullanın.

import numpy as np

my_list = [1, 2, 3, 4]
if len(my_list) < 5:
    chunks = [my_list]
else:
    chunks = np.array_split(my_list, 5)
print(chunks)

# Expected output: [[1, 2, 3, 4]]

Özel karakterleri ele alma

Özel karakterleri doğru şekilde ele almamak, Python'da string listelerini bölerken hatalara yol açabilir. Bu özel karakterlere boşluklar, virgüller veya alfa-sayısallar dahildir.

Aşağıdaki örnek, string listesini bölmek için karakteri belirterek bu hatadan nasıl kaçınılabileceğini gösterir.

# Example list with special characters
my_list = ["apple, orange", "dog, mouse", "green, blue"]

# Splitting each string by the comma
split_list = [s.split(",") for s in my_list]
print(split_list)

# Expected output:
# [['apple', ' orange'], ['dog', ' mouse'], ['green', ' blue']]

En İyi Uygulamalar ve Yönergeler

Python'da liste bölme veri analizinde yaygın bir işlem olduğundan, verimlilik için bazı uygulamalara uymak önemlidir. Bu öneriler şunlardır;

  • Mümkün Olduğunda Değişmezliği Korumak: Orijinal liste değiştirilmemeliyse, dilimleme işlemlerinizin orijinal listeyi değiştirmediğinden emin olun. Dilimleme genellikle yeni listeler oluşturur, bu yüzden çoğu zaman sorun olmaz; ancak daha karmaşık veri yapılarıyla çalışırken dikkatli olun.
  • Performansı Optimize Edin: Büyük listelerle çalışırken performans etkilerini göz önünde bulundurun. Dilimleme genellikle verimlidir, ancak büyük listelerin gereksiz yere kopyalanması performans darboğazlarına yol açabilir.
  • Köşe Durumlarını Ele Alın: Boş liste, listenin başlangıcında veya sonunda bölme ve geçersiz indeksler gibi köşe durumları düşünün. Kodunuzun bu senaryoları sorunsuzca ele alabildiğinden emin olun.
  • Hata Yönetimi ve Doğrulama Ekleyin: Python'da bir listeyi birden çok listeye bölerken hata yönetimi özellikle önemlidir; böylece kodunuz bozulmaz ve sürprizler yaşanmaz. 

DataCamp’in Python Programming kursu, hata yönetimi ve performans gibi yaygın kavramları dikkate alarak verimli kod yazmanın en iyi uygulamalarını ayrıntılı olarak açıklar. 

İleri Düzey Liste Bölme Teknikleri

Listeleri bölme işlemi, daha fazla kontrol ve esneklik sunan çeşitli yöntemlerden yararlanılarak ileri düzeye taşınabilir. 

Listeyi birden çok listeye bölme

Python listesini belirli indekslerde bölmeyi belirterek birden çok listeye ayırabilirsiniz. Örneğin, aşağıdaki kod listeyi 2, 5, 7 indekslerinde böler.

def split_at_indices(lst, indices):
    result = []
    prev_index = 0
    for index in indices:
        result.append(lst[prev_index:index])
        prev_index = index
    result.append(lst[prev_index:])
    return result

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
indices = [2, 5, 7]
split_lists = split_at_indices(my_list, indices)
print(split_lists)

# Expected output: [[1, 2], [3, 4, 5], [6, 7], [8, 9, 10]]

Listeyi eşit parçalara bölme

İstediğiniz parça sayısına göre bir Python listesini eşit parçalara bölmek için 'numpy' gibi yerleşik bir kütüphane de kullanabilirsiniz.

import numpy as np

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
num_parts = 3
split_lists = np.array_split(my_list, num_parts)
print([list(arr) for arr in split_lists])

# Expected output:
# [[np.int32(1), np.int32(2), np.int32(3), np.int32(4), np.int32(5)], [np.int32(6), np.int32(7), np.int32(8), np.int32(9), np.int32(10)], [np.int32(11), np.int32(12), np.int32(13), np.int32(14), np.int32(15)]]

Bir listeyi ikiye bölme

Dilimlemeyi kullanarak Python listesini ikiye bölebilirsiniz.

def split_in_half(lst):
    # Calculate the midpoint index of the list
    mid_index = len(lst) // 2
    # Return the two halves of the list
    return lst[:mid_index], lst[mid_index:]

# Example list
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Split the list into two halves
first_half, second_half = split_in_half(my_list)
print(first_half)
print(second_half)

# Expected output:
# [1, 2, 3, 4, 5]
# [6, 7, 8, 9, 10]

Öğe sayısı tek olan bir liste durumunda, ilk yarıya dahil edilecek indeksi belirtebilirsiniz.

def split_in_half(lst):
    # Calculate the midpoint index of the list, including the middle element in the first half if the length is odd
    mid_index = (len(lst) + 1) // 2
    # Return the two halves of the list
    return lst[:mid_index], lst[mid_index:]

# Example list
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# Split the list into two halves, handling odd-length
first_half, second_half = split_in_half(my_list)
print(first_half) 
print(second_half) 

# Expected output:
# [1, 2, 3, 4, 5]
# [6, 7, 8, 9]

Python Developer yolu da, ileri düzey liste bölme tekniklerini anlamanıza yardımcı olacak gelişmiş kod yazımı hakkında içgörüler sunar.

Sonuç

Python'da listeleri bölmek için farklı yöntemler vardır. Her yöntem, listenin türüne ve kullanıcının verimlilik tercihine bağlıdır. Bir veri uzmanı olarak, analizinize en uygun liste bölme yöntemini seçmek önemlidir.

Python'da liste bölmeyi kapsamlı biçimde anlamak için Python Fundamentals kursumuzdan daha fazlasını öğrenebilirsiniz. Ayrıca Introduction to Python kursunu alarak Python'da listeler ve diğer veri tipleri üzerinde işlem yapmayı ustalıkla öğrenebilirsiniz. Yeni Başlayanlar için Python Cheat Sheet, Python'da bir listeyi nasıl böleceğinize hızlıca göz atmak istediğinizde de işe yarar.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Veri analitiği, iş zekâsı ve veri bilimi alanlarında pratik deneyime sahip Veri Bilimi Teknik Yazarı. SQL, Python, Power BI, Databricks ve veri mühendisliği üzerine, gerçek dünya analitik çalışmalarına dayanan, uygulamaya dönük ve sektöre odaklı içerikler yazıyorum. Yazılarım teknik derinlikle iş etkisi arasındaki köprüyü kurarak profesyonellerin veriyi güvenle karara dönüştürmelerine yardımcı olur.

Sıkça Sorulan Sorular

Python'da bir listeyi ne zaman bölmem gerekir?

Python'da liste bölme, özellikle büyük veri kümelerini yönetirken veri işleme için önemlidir. Dönüşümler, veriyi analiz yapmak üzere böldüğünüzde—örneğin makine öğrenimi modellerini eğitmek ve test etmek için—yardımcı olur.

itertools ve numpy modülleri hata verirse ne yapmalıyım?

Uygun Python kütüphanelerinin kurulu olduğundan emin olun. Hata devam ederse, kütüphaneleri güncelleyip uyumlu sürümlerini kullandığınızdan emin olun.

Bir Python listesini bölmek ile partition() arasındaki fark nedir?

partition() yöntemi, koşullu argümanın ortada olduğu üçlü (tuple) döndürür.

Belirli bir ayırıcı veya değerle bir Python listesini bölebilir miyim?

Listeyi bölmek için verilen ayırıcıyı veya değeri belirtmeniz gerekir.

Bir listeyi birden çok listeye böldüğümde kodumun performansını nasıl artırırım?

Bir listeyi birden çok listeye bölerken yeniden kullanılabilir bir fonksiyon kullanın. Bu yaklaşım verimlilik sağlar.

Konular
Python
Veri Analizi

DataCamp ile Python öğrenin

Kurs

Python'da Fonksiyonlara Giriş

3 sa
471.4K
Python'da kendi fonksiyonlarınızı yazma sanatının yanı sıra kapsam belirleme ve hata işleme gibi temel kavramları öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör