[] & () for variables in Python variable assignment

Buy Me a Coffee☕ My post explains variable assignment in Python. My post explains iterable unpacking in Python variable assignment. My post explains * for iterable unpacking in Python variable assignment. My post explains * for iterable unpacking in Python function. My post explains ** for dictionary unpacking in Python. My post explains *args and **kwargs in Python function. You can use zero or more [] and () for one or more variables in a variable assignment as shown below: mylist = [[[5]]] v1 = mylist (v1) = mylist print(v1) # [[[5]]] [v1] = mylist (v1,) = mylist print(v1) # [[5]] [[v1]] = mylist ((v1,),) = mylist print(v1) # [5] [[[v1]]] = mylist (((v1,),),) = mylist print(v1) # 5 mytuple = (((5,),),) v1 = mytuple (v1) = mytuple print(v1) # (((5,),),) [v1] = mytuple (v1,) = mytuple print(v1) # ((5,),) [[v1]] = mytuple ((v1,),) = mytuple print(v1) # (5,) [[[v1]]] = mytuple (((v1,),),) = mytuple print(v1) # 5 mylist = [0, 1, [2, 3, [4, 5]]] v1 = mylist print(v1) # [0, 1, [2, 3, [4, 5]]] [v1, v2, v3] = mylist (v1, v2, v3) = mylist print(v1, v2, v3) # 0 1 [2, 3, [4, 5]] [v1, v2, [v3, v4, v5]] = mylist (v1, v2, (v3, v4, v5)) = mylist print(v1, v2, v3, v4, v5) # 0 1 2 3 [4, 5] [v1, v2, [v3, v4, [v5, v6]]] = mylist (v1, v2, (v3, v4, (v5, v6))) = mylist print(v1, v2, v3, v4, v5, v6) # 0 1 2 3 4 5 mytuple = (0, 1, (2, 3, (4, 5))) v1 = mytuple print(v1) # (0, 1, (2, 3, (4, 5))) [v1, v2, v3] = mytuple (v1, v2, v3) = mytuple print(v1, v2, v3) # 0 1 (2, 3, (4, 5)) [v1, v2, [v3, v4, v5]] = mytuple (v1, v2, (v3, v4, v5)) = mytuple print(v1, v2, v3, v4, v5) # 0 1 2 3 (4, 5) [v1, v2, [v3, v4, [v5, v6]]] = mytuple (v1, v2, (v3, v4, (v5, v6))) = mytuple print(v1, v2, v3, v4, v5, v6) # 0 1 2 3 4 5 *Only one *variable can be used in each [] and (). mylist = [0, 1, [2, 3, [4, 5]]] v1 = mylist print(v1) # [0, 1, [2, 3, [4, 5]]] [v1, *v2, v3] = mylist (v1, *v2, v3) = mylist print(v1, v2, v3) # 0 [1] [2, 3, [4, 5]] [v1, *v2, [*v3, v4, v5]] = mylist (v1, *v2, (*v3, v4, v5)) = mylist print(v1, v2, v3, v4, v5) # 0 [1] [2] 3 [4, 5] [v1, *v2, [*v3, v4, [v5, *v6]]] = mylist (v1, *v2, (*v3, v4, (v5, *v6))) = mylist print(v1, v2, v3, v4, v5, v6) # 0 [1] [2] 3 4 [5] mytuple = (0, 1, (2, 3, (4, 5))) v1 = mytuple print(v1) # (0, 1, (2, 3, (4, 5))) [v1, *v2, v3] = mytuple (v1, *v2, v3) = mytuple print(v1, v2, v3) # 0 [1] (2, 3, (4, 5)) [v1, *v2, [*v3, v4, v5]] = mytuple (v1, *v2, (*v3, v4, v5)) = mytuple print(v1, v2, v3, v4, v5) # 0 [1] [2] 3 (4, 5) [v1, *v2, [*v3, v4, [v5, *v6]]] = mytuple (v1, *v2, (*v3, v4, (v5, *v6))) = mytuple print(v1, v2, v3, v4, v5, v6) # 0 [1] [2] 3 4 [5] *A [] and () cannot be used for a function parameter. def func([p]): pass # SyntaxError: invalid syntax def func((p)): pass def func((p,)): pass # SyntaxError: Function parameters cannot be parenthesized

May 12, 2025 - 05:45
 0
[] & () for variables in Python variable assignment

Buy Me a Coffee

  • My post explains variable assignment in Python.
  • My post explains iterable unpacking in Python variable assignment.
  • My post explains * for iterable unpacking in Python variable assignment.
  • My post explains * for iterable unpacking in Python function.
  • My post explains ** for dictionary unpacking in Python.
  • My post explains *args and **kwargs in Python function.

You can use zero or more [] and () for one or more variables in a variable assignment as shown below:

mylist = [[[5]]]

v1 = mylist
(v1) = mylist
print(v1) # [[[5]]]

[v1] = mylist
(v1,) = mylist
print(v1) # [[5]]

[[v1]] = mylist
((v1,),) = mylist
print(v1) # [5]

[[[v1]]] = mylist
(((v1,),),) = mylist
print(v1) # 5
mytuple = (((5,),),)

v1 = mytuple
(v1) = mytuple
print(v1) # (((5,),),)

[v1] = mytuple
(v1,) = mytuple
print(v1) # ((5,),)

[[v1]] = mytuple
((v1,),) = mytuple
print(v1) # (5,)

[[[v1]]] = mytuple
(((v1,),),) = mytuple
print(v1) # 5
mylist = [0, 1, [2, 3, [4, 5]]]

v1 = mylist
print(v1) # [0, 1, [2, 3, [4, 5]]]

[v1, v2, v3] = mylist
(v1, v2, v3) = mylist
print(v1, v2, v3) # 0 1 [2, 3, [4, 5]]

[v1, v2, [v3, v4, v5]] = mylist
(v1, v2, (v3, v4, v5)) = mylist
print(v1, v2, v3, v4, v5) # 0 1 2 3 [4, 5]

[v1, v2, [v3, v4, [v5, v6]]] = mylist
(v1, v2, (v3, v4, (v5, v6))) = mylist
print(v1, v2, v3, v4, v5, v6) # 0 1 2 3 4 5
mytuple = (0, 1, (2, 3, (4, 5)))

v1 = mytuple
print(v1) # (0, 1, (2, 3, (4, 5)))

[v1, v2, v3] = mytuple
(v1, v2, v3) = mytuple
print(v1, v2, v3) # 0 1 (2, 3, (4, 5))

[v1, v2, [v3, v4, v5]] = mytuple
(v1, v2, (v3, v4, v5)) = mytuple
print(v1, v2, v3, v4, v5) # 0 1 2 3 (4, 5)

[v1, v2, [v3, v4, [v5, v6]]] = mytuple
(v1, v2, (v3, v4, (v5, v6))) = mytuple
print(v1, v2, v3, v4, v5, v6) # 0 1 2 3 4 5

*Only one *variable can be used in each [] and ().

mylist = [0, 1, [2, 3, [4, 5]]]

v1 = mylist
print(v1) # [0, 1, [2, 3, [4, 5]]]

[v1, *v2, v3] = mylist
(v1, *v2, v3) = mylist
print(v1, v2, v3) # 0 [1] [2, 3, [4, 5]]

[v1, *v2, [*v3, v4, v5]] = mylist
(v1, *v2, (*v3, v4, v5)) = mylist
print(v1, v2, v3, v4, v5) # 0 [1] [2] 3 [4, 5]

[v1, *v2, [*v3, v4, [v5, *v6]]] = mylist
(v1, *v2, (*v3, v4, (v5, *v6))) = mylist
print(v1, v2, v3, v4, v5, v6) # 0 [1] [2] 3 4 [5]
mytuple = (0, 1, (2, 3, (4, 5)))

v1 = mytuple
print(v1) # (0, 1, (2, 3, (4, 5)))

[v1, *v2, v3] = mytuple
(v1, *v2, v3) = mytuple
print(v1, v2, v3) # 0 [1] (2, 3, (4, 5))

[v1, *v2, [*v3, v4, v5]] = mytuple
(v1, *v2, (*v3, v4, v5)) = mytuple
print(v1, v2, v3, v4, v5) # 0 [1] [2] 3 (4, 5)

[v1, *v2, [*v3, v4, [v5, *v6]]] = mytuple
(v1, *v2, (*v3, v4, (v5, *v6))) = mytuple
print(v1, v2, v3, v4, v5, v6) # 0 [1] [2] 3 4 [5]

*A [] and () cannot be used for a function parameter.

def func([p]): pass
# SyntaxError: invalid syntax

def func((p)): pass
def func((p,)): pass
# SyntaxError: Function parameters cannot be parenthesized