Skip to content

Latest commit

 

History

History
338 lines (156 loc) · 2.59 KB

File metadata and controls

338 lines (156 loc) · 2.59 KB

Tuple

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

  • listelerden farklı olarak tuplelar 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şmiyeceğini bildiğim değerleri bir arada tutmak için

  • tuplelar (element1,element2...) şeklinde tanımlanır.

  • tuplelar 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

  • x ve y'nin değerlerini değiştirmek istiyorum diyelim
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