所以,我有以下形式的數組:爲什麼我不能從一個列表理解中得到兩個列表?
[(1, u'first_type', u'data_gid_1'),
(2, u'first_type', u'data_gid_2'),
(3, u'first_type', u'data_gid_3'),
(4, u'first_type', u'data_gid_4')]
現在我想提取的第一個和每個內部列表分成單獨的列表的最後一個元素。所以如果我這樣做:
>>> ids = [dat[0] for dat in all_data]
>>> gds = [dat[2] for dat in all_data]
這工作正如我所料。不過,我試圖將這兩個合併成一個呼叫,像:
(ids, gds) = [(dat[0], dat[2]) for dat in all_data]
然而,這失敗的: ValueError: too many values to unpack
所以任何人都可以解釋爲什麼發生這種情況,如果我所試圖做的甚至有可能。
問候, 波格丹
將它作爲兩行保留有什麼問題嗎?我的意思是有時候很清楚。 –
沒有錯,這仍然是我正在使用的解決方案,我只是想了解爲什麼我會爲將來的使用收到錯誤。 – Bogdan
@Bogdan這真是光榮。我會給你一個評論的+1。 – cwallenpoole