2012-02-23 38 views
21

thể trùng lặp:
Python List vs. Array - when to use?Python:. Mảng v Danh sách

Tôi đang làm việc trên một vài dự án trong Python, và tôi có một vài câu hỏi:

  1. Sự khác biệt giữa Mảng và Danh sách là gì?
  2. Nếu không rõ ràng trong câu hỏi 1, tôi nên sử dụng thông tin nào?
  3. Làm thế nào để bạn sử dụng ưu tiên? (Tạo mảng/danh sách, thêm mặt hàng, loại bỏ mục, chọn mục ngẫu nhiên)
+1

này cảm thấy giống như một yêu cầu hướng dẫn chứ không phải là một câu hỏi tuy nhiên xem ghi chú của tôi dưới đây. Vui lòng bỏ phiếu và/hoặc chấp nhận nếu thích hợp –

Trả lời

32

Sử dụng danh sách trừ khi bạn muốn một số tính năng rất cụ thể nằm trong thư viện mảng C.

python thực sự có ba cấu trúc dữ liệu nguyên thủy

tuple = ('a','b','c') 
list = ['a','b','c'] 
dict = {'a':1, 'b': true, 'c': "name"} 

list.append('d') #will add 'd' to the list 
list[0] #will get the first item 'a' 

list.insert(i, x) # Insert an item at a given position. The first argument is the index of the element before which to insert, so a.insert(0, x) inserts at the front of the list, and a.insert(len(a), x) is equivalent to a.append(x).  

list.pop(2) # will remove items by position (index), remove the 3rd item 
list.remove(x) # Remove the first item from the list whose value is x. 

list.index(x) # Return the index in the list of the first item whose value is x. It is an error if there is no such item. 

list.count(x) # Return the number of times x appears in the list. 

list.sort(cmp=None, key=None, reverse=False) # Sort the items of the list in place (the arguments can be used for sort customization, see sorted() for their explanation). 

list.reverse() # Reverse the elements of the list, in place. 

Thông tin thêm về cấu trúc dữ liệu ở đây: http://docs.python.org/tutorial/datastructures.html

+9

đừng quên bộ .. – wim

+0

chính xác cũng có các bộ. bộ sưu tập không có các mục lặp lại. http://docs.python.org/tutorial/datastructures.html#sets –

10

Không có gì thực sự cụ thể ở đây và câu trả lời này là một chút chủ quan ...

Nói chung, tôi cảm thấy bạn nên sử dụng một danh sách chỉ vì nó được hỗ trợ trong cú pháp và được sử dụng rộng rãi hơn trong các thư viện khác, v.v.

Bạn nên sử dụng arrays nếu bạn biết rằng mọi thứ trong "danh sách" sẽ có cùng loại và bạn muốn lưu trữ dữ liệu gọn nhẹ hơn.

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