17 Ocak 2012, Salı
'in ne listeler arasındaki fark Python köşeli parantez ve parantez?
>>> x=[1,2]
>>> x[1]
2
>>> x=(1,2)
>>> x[1]
2
Her ikisi de geçerli mıdır? Tek bir nedenle tercih edilir?
CEVAP
17 Ocak 2012, Salı
Bir liste değiştirilebilir, içeriğini değiştirebilirsiniz anlama gelir
>>> x = [1,2]
>>> x.append(3)
>>> x
[1, 2, 3]
dizilerini değil iken:
>>> x = (1,2)
>>> x
(1, 2)
>>> x.append(3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'append'
Diğer temel fark, bir başlığın diğer şeyler arasında bir sözlük için bir anahtar olarak kullanabileceğiniz hashable, anlamı olmasıdır. Örneğin:
>>> x = (1,2)
>>> y = [1,2]
>>> z = {}
>>> z[x] = 3
>>> z
{(1, 2): 3}
>>> z[y] = 4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
Bunu Paylaş:
köşeli parantez ve çift köşeli parante...
Parantez ve parantez, Scala, resmi ara...
@Staticmethod ve @Python classmethod a...
Tür adından sonra parantez içinde yeni...
Eski stil ve yeni stil Python sınıflar...