2015-04-27 161 views
1

我有一個包含信息的列表,而不是dict。當我簡單地做print my_list它產生:Python解析列表

[<Data_1: name=u'Name of A',id=101>, 
<Data_2: name=u'Name of B',id=102>, 
<Data_3: name=u'Name of C',id=103>, 
...] 

當我做for x in my_list: print x它產生:

Name of A 
Name of B 
Name of C 
... 

顯然Python是莫名其妙地分析這一點,但我會如何同時提取每個元素的名稱和ID部分?如果這是一個字典,我會做my_list.iteritems,但我有點卡住如何做到這一點只是一個正常的名單。

感謝

+2

'<_1:名稱= A的u'Name」,ID = 101>'絕對是一個查詢集。所以'x.name'和'x.id'應該可以工作。 –

+0

我不敢相信那是那麼容易。謝謝 – bsheehy

+2

順便說一句,你的兩段代碼產生不同的輸出,因爲打印一個對象直接調用其__str__方法,而打印一個包含對象的列表則調用它們的__repr__方法。 – Kevin

回答

2

解決你的問題是:

for x in my_list: print x.name, x.id