Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

readme.md

Tuple

  • tuple veri tipi listeler gibi birden çok veri tipini bir arada tutmamızı sağlar.

  • listelerden farklı olarak tuple'lar immutabledır

  • Mesela bir deniz fenerinin konumunu belirtmek istiyoruz. bunun x ve y koordinat değerleri var (x,y). Deniz fenerini söküp götüremiyoruz, ben bu iki değerin sabit, değiştirilemez olmasını istiyorum. Burada bu iki değeri tutmak için tuple kullanmam mantıklı olabilir. Değişmeyeceğini bildiğim değerleri bir arada tutmak için.

  • tuple'lar (element1,element2...) şeklinde tanımlanır.

  • tuple'lar listeler gibi farklı veri yapılarında elemanlardan oluşabilir. Elemanları tuple bile olabilir.

x = 10
y = 34
konum = (10, 34)
  • Aynı listelerdeki gibi indexleme yapabiliyoruz.
konum[0]
10
konum[:]
(10, 34)
  • Ama değerlerini değiştiremiyoruz.
konum[0] = 100
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-7-62043221042e> in <module>
----> 1 konum[0] = 100


TypeError: 'tuple' object does not support item assignment
  • Farklı veri tipleri barındırabiliyor.
t = (1,2,3,"a")
t
(1, 2, 3, 'a')
t = ((1,2),3)
t
t[0]
(1, 2)
t[1]
3
t = ([1,2,3],2,(1,2))
t
([1, 2, 3], 2, (1, 2))
t[0][0] = 23
t
([23, 2, 3], 2, (1, 2))
l = [[1,2,3], [10,20]]
l
[[1, 2, 3], [10, 20]]

Elemanların Değerlerini Değiştirmek

  • Diyelim ki x ve y'nin değerlerini değiştirmek istiyorum.
x = 2
y = 3
  • bunu şöyle yapabiliriz.
temp = x
x = y
y = temp
x
3
y
2
  • Ama bunu tuple'lar ile 1 satırda yapabiliriz.
x = 2
y = 3
(x, y) = (y, x)
x

3

y

2

  • parantez koymamıza da gerek yok. 1,2,3,"a"... gibi parantezsiz belirtsek de Python onu tuple olarak görüyor.
1,2,3,4

(1, 2, 3, 4)

a = 1,2,3,4
a

(1, 2, 3, 4)

type(a)

tuple

x = 2
y = 3
x, y = y, x
x

3

y

2

x = 2
y = 3
[x, y] = [y, x]
x

3

y

2