New submission from artxyz:

Python 2.7.11
GCC 4.8.4

Getting weird results when define a nested function in a loop and store them in 
a list

    x = list()
    for i in xrange(5):
        def FUN():
            print i

Calling functions from list using index works fine:

    for i in xrange(5):
        print x[i]
    # prints 0 1 2 3 4

Calling function using iteration through the sequence yields  wrong results, 
despite current function (f) changes:

    for f in x:
        print f
    # prints 4 4 4 4 4

components: Interpreter Core
messages: 277155
nosy: artxyz
priority: normal
severity: normal
status: open
title: Nested fuctions Unexpected behaviour when stored in a list and called 
type: behavior
versions: Python 2.7
Added file:

Python tracker <>
Python-bugs-list mailing list

Reply via email to