Vì vậy, tôi có một loạt các hình thức sau đây:Tại sao tôi không thể nhận được hai danh sách từ một danh sách hiểu?
[(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')]
Bây giờ tôi muốn trích xuất đầu tiên và yếu tố cuối cùng của mỗi danh sách bên vào danh sách riêng biệt. Vì vậy, nếu tôi làm:
>>> ids = [dat[0] for dat in all_data]
>>> gds = [dat[2] for dat in all_data]
Điều này hoạt động như tôi mong đợi. Tuy nhiên tôi đã cố gắng để kết hợp hai thành một cuộc gọi, một cái gì đó như:
(ids, gds) = [(dat[0], dat[2]) for dat in all_data]
này tuy nhiên không thành công với một: ValueError: too many values to unpack
Vì vậy, bất cứ ai có thể giải thích lý do tại sao điều này xảy ra và nếu những gì tôi đang cố gắng làm thậm chí có thể.
Kính trọng, Bogdan
Có điều gì sai trái khi bỏ hai dòng không? Tôi có nghĩa là đôi khi nó chỉ là tốt đẹp để được rõ ràng. –
Không có gì sai, đó vẫn là giải pháp tôi đang sử dụng, tôi chỉ muốn hiểu tại sao tôi lại gặp lỗi khi sử dụng trong tương lai. – Bogdan
@Bogdan Điều đó thực sự đáng kính. Tôi sẽ cung cấp cho bạn một +1 cho nhận xét đó. – cwallenpoole