2012-01-04 21 views

Trả lời

9

này là nhờ khá đơn giản thực tế, bạn có thể thêm và/hoặc nhân danh sách:

L += [4] * 10 

đây là bằng chứng:

>>> L = [0,1,2,3] 
>>> L += [4] * 10 
>>> L 
[0, 1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] 
+3

@ user1123950, nếu bạn định sử dụng mã này cho một thứ khác ngoài ints hoặc float (danh sách, dicts, hoặc các lớp của riêng bạn), có điều gì đó ** rất quan trọng ** mà bạn phải biết: * 'toán tử wil tạo danh sách của cùng một đối tượng ** lặp đi lặp lại n lần, vì vậy nếu bạn làm' L + = [MyClass()] * 10' tất cả các phần tử đó sẽ tham chiếu cùng một đối tượng, vì vậy nếu bạn sửa đổi một trong chúng, bạn sẽ sửa đổi tất cả chúng. – juliomalegria

+0

@ julio.alegria: Tôi hoàn toàn đồng ý với điều đó, điểm tốt. – Tadeck

2
L.extend([4] * 10) 

L.extend([some_mutable_object for x in range(10)]) 
+1

Dòng thứ hai không hoạt động đối với 'some_mutable_object', chỉ cho' some_expression_that_returns_or_creates_a_mutable_object() '. Nếu không, bạn vẫn chỉ nhận được 10 tài liệu tham khảo cho cùng một đối tượng. – Ben

+0

Xin lỗi vì cuộc trò chuyện của người xem lại. Tôi vô tình đăng bình luận đó trước khi tôi định làm, nên tôi quay lại và hoàn thành nó, nhưng lúc đó bạn đã trả lời phiên bản đầu tiên. – Ben

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