2014-07-08 90 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