The print function in Python 3 returns None. The "ok" output is a side effect. The actual value of evaluating that list comprehension is a list of three None values.
Skip On Thu, Apr 10, 2014 at 8:54 AM, length power <elearn2...@gmail.com> wrote: >>>> x=['','x1','x2','x3',' '] >>>> x > ['', 'x1', 'x2', 'x3', ' '] >>>> [print("ok") for it in x if it.strip() !=""] > ok > ok > ok > [None, None, None] > > i understand there are three 'ok' in the output,but why i have the output of > [None, None, None] > > -- > https://mail.python.org/mailman/listinfo/python-list > -- https://mail.python.org/mailman/listinfo/python-list