使用locals()字典的Python字符串格式 - list vs generator

时间:2014-07-15 08:50:35

标签: python scope string-formatting

当我需要打印变量时,我倾向于懒惰并且经常使用"{someVariable}".format( **locals() )。例如:

x = 10
[ "{x} {i}".format( **locals() ) for i in xrange(3) ]

输出:

['10 0', '10 1', '10 2']

但现在如果我改用发电机:

x = 10
for y in ( "{x} {i}".format( **locals() ) for i in xrange(3) ) :
    print y

输出:

KeyError: 'x'

哦不!发生了什么事?

0 个答案:

没有答案