why print all the characters of a string give None?
本问题已经有最佳答案,请猛点这里访问。
我使用两种方法来打印字符串中的字符。
1 2 | s = 'hello' [print(i) for i in s] |
上面的代码段产生:
1 2 3 4 5 6 | h e l l o [None, None, None, None, None] |
而另一个片段
1 2 3 | s = 'hello' for i in s: print(i) |
正常运行
1 2 3 4 5 | h e l l o |
"无"是从哪里来的?
我猜你是在交互地做这件事,所以当你的列表理解完成后(一次打印一个字母),列表理解的结果将被打印出来。
1 2 3 4 5 6 7 8 | >>> s = 'hello' >>> [print(i) for i in s] h e l l o [None, None, None, None, None] |
如果将其存储到变量中,则不会打印列表理解本身:
1 2 3 4 5 6 7 | >>> s = 'hello' >>> lots_of_nones = [print(i) for i in s] h e l l o |
那么,
1 | [None for i in 'hello'] |