Qualche tempo fa pensavo che il costruttore della tupla fosse una coppia di parentesi ()
.Perché le parentesi sono necessarie nelle tuple?
Esempio:
>>> (1,)
(1,)
>>> type((1,))
<type 'tuple'>
>>> t = (1,)
>>> type(t)
<type 'tuple'>
Ma ora so che è la virgola ,
.
Quindi, fare lo stesso come sopra:
>>> 1,
(1,)
>>> type(1,)
<type 'int'> # Why?
>>> 1,2,3
(1,2,3)
Ma se faccio:
>>> type(1,2,3)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: type() argument 1 must be string, not int
Questo ha senso per me, ma:
>>> t = 1,2,3
>>> type(t)
<type 'tuple'>
E infine:
>>> type((1,2,3))
<type 'tuple'>
Ecco la domanda: perché sono necessarie le parentesi nel caso finale se la tupla è solo 1,2,3
?
tipo (1,2,3) può confondere python perché ',' sono utilizzati per separare i parametri. Quindi può pensare che 1 sia il primo parametro, 2 è il secondo e così via. – NendoTaka
https://stackoverflow.com/questions/16017811/when-are-parenthes-required-around-a-tuple – chishaku
Che dire di 'type (())'? Questo restituisce 'tupla'. –