• Evil python tricks

    From cosarara@cosarara@tilde.club to tilde.python on Wed Dec 22 09:56:19 2021
    Run the following code:

    a = a[0] = [0]
    print(a)

    Do you think it will error out on the first line? Can you explain how it works? Think about it, then read below for the answer:

    Chained assignment in python takes the rightmost element and assigns
    left to right, such that the statement boils down to:

    tmp = [0]
    a = tmp
    a[0] = tmp

    Thus creating a as a list of one element, that element being itself.

    This is probably the most confusing and satisfyingly evil python trick I
    know. Do you know other interesting tricks?
    --- Synchronet 3.19a-Linux NewsLink 1.113