+ 1
Can anyone explain why???
Why [1, 2, 3] cannot be assigned to literal? Under which circumstances can do? How to revise the code pls? https://code.sololearn.com/c19sENSAyj9N/?ref=app
3 Answers
+ 8
an assignment can be done to:
> an existing python object
> to a literal that is a valid identifier name. this is the case when objects are created and initialized with values
the assignment target is always on the left side of the assignment operator
in your case, [1, 2, 3] is an unvalid identifier name, see python docs.
+ 5
Technically, a tuple is a single object. And you tried assigning a literal value which can't be done. What is your desired outcome?
+ 4
# The value of different datatypes kan be repesenting through some kind of notation, like:
5
"hello world"
(1, 3)
{'a': 10, 'b': 20}
# These values can be stored in variables, like:
k = 5
s = "hello world"
t = (1, 3)
d = {'a': 10, 'b': 20}
# So on the left side on the assignment operator = , you have the variables, and on the right side the symbols for the values of a specific datatype, like numbers, strings, tuples or dictionaries.
# You can't save a variable in a litteral, that is in a value, as you tried to do. Always the opposite:
# <LEFT: variables> = <RIGHT: litterals>
# Some changes in your code:
numbers = (1, 2, 3)
a, b, c = numbers
print(a)
print(b)
print(c)
#my code bits
numbers = (a, b, c)
[n1, n2, n3] = numbers
print(f"{n1 = }, {n2 = }, {n3 = }")