我想实施以下措施:
print(i) for i in xrange(10)
然而,这在python2和python3中都不起作用。语言的局限性是什么?或者我做错了什么?
最佳答案
Set builder notation(在Python中称为生成器表达式)仅在构建集合时才起作用。您使用的符号是set builder符号(生成器表达式)(类似于x for x in range(10) if ...
)。也就是说,你可以使用一个常规for循环
for i in xrange(10):
print(i)
或设置生成器符号生成空集:
>>> x = [print(i) for i in xrange(10)]
0
1
2
3
4
5
6
7
8
9
>>> x
[None, None, None, None, None, None, None, None, None, None]
>>>
集合具有所有“无”值的原因是,您从未添加到集合,而只打印出内容。
关于python - 为什么在python 2/3的同一行上不能使用for打印?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34536650/