Python’da, iki popüler veri yapısı olan list’ler ve tuple’lar vardır. Hem list hem de tuple, bir koleksiyon içinde birden fazla öğe tutmak için kullanılır. Ancak, bu veri yapıları arasında farklılıklar vardır. Bu yazıda, Python’da tuple ve list arasındaki farkları ayrıntılı olarak ele alacağız.

tuple ve list

List Nedir?

Bir Python listi, birçok öğenin (veri türüne bakılmaksızın) virgülle ayrılmış bir sıralı koleksiyonudur. Öğeler, köşeli parantezlerle [ ] belirtilen liste içinde saklanır. Örneğin, aşağıdaki gibi bir liste oluşturulabilir:

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

Listeler, aşağıdaki özellikleriyle tanınır:

  • Listeler, öğelerin sıralı bir şekilde saklandığı, yani öğelerin sırası önemlidir.
  • Listeler, bir öğe değiştirilebilir, eklenip çıkarılabilir veya sıfırlanabilir.
  • Listeler, farklı veri türleri içerebilir.
  • Listeler, yinelemeli ve indekslenebilir.

Tuple Nedir?

Tuple, birçok öğenin (veri türüne bakılmaksızın) virgülle ayrılmış bir sıralı koleksiyonudur. Öğeler, parantezlerle () belirtilen tuple içinde saklanır. Örneğin, aşağıdaki gibi bir tuple oluşturulabilir:

my_tuple = (1, 2, 3, 4, 5)

Tuple’lar, aşağıdaki özellikleriyle tanınır:

  • Tuple’lar, öğelerin sıralı bir şekilde saklandığı, yani öğelerin sırası önemlidir.
  • Tuple’lar, bir kez oluşturulduktan sonra değiştirilemezler. Yani, eklenemez veya çıkarılamazlar.
  • Tuple’lar, farklı veri türleri içerebilir.
  • Tuple’lar, yinelemeli ve indekslenebilir.

Tuple ve List Arasındaki Farklar

İşte tuple ve list arasındaki en önemli farklar:

Değiştirilebilirlik

Listler değiştirilebilirken tuple’lar değiştirilemez. Yani, bir list öğesini değiştirebilir, bir öğe ekleyebilir veya bir öğe çıkarabilirsiniz. Ancak, bir tuple oluşturulduktan sonra, içindeki öğeleri değiştiremezsiniz. Aşağıdaki örnekte, liste öğesi değiştirilebilirken tuple öğesi değiştirilemez:

# Listeler değiştirilebilir
my_list = [1, 2, 3]
my_list[1] = 4
print(my_list) # [1, 4, 3]

# Tuple’lar değiştirilemez
my_tuple = (1, 2, 3)
my_tuple[1] = 4
# TypeError: ‘tuple’ object does not support item assignment

Sıralanabilirlik

Listeler sıralanabilirken tuple’lar sıralanamaz. Yani, liste öğeleri belirli bir sıraya göre dizilebilirken, tuple öğelerinin belirli bir sırası yoktur. Aşağıdaki örnekte, liste öğeleri sıralanabilirken tuple öğeleri sıralanamaz:

my_list = [3, 2, 1]
my_tuple = (3, 2, 1)
print(sorted(my_list)) # [1, 2, 3]
print(sorted(my_tuple)) # TypeError: ‘<‘ not supported between instances of ‘int’ and ‘str’

Tabii, devam ediyorum.

Sıralanabilirlik

Listeler sıralanabilirken tuple’lar sıralanamaz. Yani, liste öğeleri belirli bir sıraya göre dizilebilirken, tuple öğelerinin belirli bir sırası yoktur. Aşağıdaki örnekte, liste öğeleri sıralanabilirken tuple öğeleri sıralanamaz:

my_list = [3, 2, 1]
my_tuple = (3, 2, 1)
print(sorted(my_list)) # [1, 2, 3]
print(sorted(my_tuple)) # TypeError: ‘<‘ not supported between instances of ‘int’ and ‘str’

Bellek Kullanımı

Tuple’lar, listelere göre daha az bellek kullanır. Çünkü tuple’lar sabit ve değiştirilemezdir. Bu nedenle, tuple’lar daha küçük boyutlu ve daha hızlıdır. Ancak, bu fark yalnızca büyük boyutlu koleksiyonlarda fark edilir.

İşleme Süresi

Listeler, tuple’lardan daha hızlıdır. Çünkü liste öğeleri değiştirilebilir, böylece bellek işlemleri daha hızlıdır. Bununla birlikte, bu fark yine sadece büyük koleksiyonlarla belirgin hale gelir.

Hangisini Kullanmalıyım?

Tuple ve liste arasında bir seçim yaparken, hangi veri yapısının hangi amaç için daha iyi olduğunu belirlemek önemlidir. Eğer verilerinizin değiştirilmesine ihtiyacınız yoksa, örneğin bir sabit değer listesi oluşturmak için kullanmanız gerekiyorsa, tuple kullanmak daha uygun olabilir. Ancak, verilerinizin değiştirilmesi gerekiyorsa, listeler daha uygun olabilir.

Ayrıca, programınızın ihtiyaçlarına ve verilerinizin türüne bağlı olarak, verimlilik, bellek kullanımı ve kodun okunabilirliği gibi faktörleri de göz önünde bulundurmanız gerekebilir.

Sonuç olarak;

Python‘da, listeler ve tuple’lar, farklı amaçlar için kullanılan iki farklı veri yapısıdır. Hem liste hem de tuple, birçok öğeyi saklamak için kullanılabilir, ancak farklılıkları vardır. Listeler değiştirilebilir, sıralanabilir ve daha hızlıdır, ancak daha fazla bellek kullanırlar. Tuple’lar ise değiştirilemez, sıralanamaz ve daha az bellek kullanırlar. Hangi veri yapısının hangi amaç için daha uygun olduğunu belirlemek, programınızın ihtiyaçlarına bağlıdır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir