2012-11-11 49 views
20

Hãy nói rằng tôi có những bài tập:Danh sách + = tuple vs Danh sách = Danh sách + tuple

points = [] 
point = (1, 2) 

Tại sao khi tôi làm điều này:

points += point 

Nó hoạt động hoàn toàn tốt, và mang lại cho tôi điểm = [1, 2]. Tuy nhiên, nếu tôi làm điều gì đó như:

points = points + point 

Nó mang lại cho tôi một Lỗi Loại: chỉ có thể nối danh sách (không phải là "tuple") vào danh sách. Chẳng phải những tuyên bố này cũng giống nhau sao?

Trả lời

20

Sự khác biệt, là list += tương đương với list.extend(), có thể lặp lại và mở rộng danh sách, nó hoạt động như một bộ túp là một lần lặp. (Và mở rộng danh sách tại chỗ).

Mặt khác, thứ hai gán một danh sách mới cho points và cố gắng nối một danh sách vào bộ tuple, không được thực hiện vì không rõ kết quả mong đợi là gì (liệt kê hoặc tuple?).

Các vấn đề liên quan