2014-07-08 89 views
1

打印unicode的任何人都可以解释为什么这蟒蛇 - 用逗号

for name in session.query(Device.manufacturer_name): 
    print name 

结果

(u'Apple',) 
(u'Samsung',) 
(u'Sony',) 
(u'HTC',) 

但是这 - 我倒觉得不完全是一回事

for device in session.query(Device): 
        print device.manufacturer_name 

给不同的结果?

Apple 
Samsung 
Sony 
HTC 
+2

这些都是** **元组。 –

回答

2

你问了一个特定的列,并以行的形式得到结果。每行都是一个只有1个值的元组。

您可以通过索引获得一个价值简单地说:

for row in session.query(Device.manufacturer_name): 
    print row[0] 

,或者您可以使用元组分配:

for name, in session.query(Device.manufacturer_name): 
    print name 

注意在for目标列表中的逗号; Python现在将每个元组解压缩到一个目标名称的“列表”中。

1

他们的元组(可能namedtuples),你可以解开他们是这样的:

for name, in session.query(Device.manufacturer_name): 
    print name