Lưu ý: Python không có hỗ trợ tích hợp cho các mảng, nhưng danh sách Python có thể được sử dụng thay thế. Python does not have built-in support for Arrays, but Python Lists can be used instead.
Mảng
Lưu ý: Tuy nhiên, trang này chỉ cho bạn cách sử dụng danh sách dưới dạng mảng, để hoạt động với các mảng trong Python, bạn sẽ phải nhập thư viện, như thư viện Numpy. This page shows you how to use LISTS as ARRAYS, however, to work with arrays in Python you will have to import a library, like the NumPy library.
Mảng được sử dụng để lưu trữ nhiều giá trị trong một biến duy nhất:
Thí dụ
Tạo một mảng chứa tên xe:
Ô tô = ["Ford", "Volvo", "BMW"]
Hãy tự mình thử »
Một mảng là gì?
Một mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị tại một thời điểm.
Nếu bạn có một danh sách các mặt hàng [ví dụ danh sách các tên xe hơi], việc lưu trữ xe trong các biến đơn có thể trông như thế này:
car1 = "ford" car2 = "volvo" car3 = "bmw"
car2 = "Volvo"
car3 = "BMW"
Tuy nhiên, điều gì sẽ xảy ra nếu bạn muốn lặp qua những chiếc xe và tìm một chiếc cụ thể? Và điều gì sẽ xảy ra nếu bạn không có 3 chiếc xe, mà là 300?
Giải pháp là một mảng!
Một mảng có thể chứa nhiều giá trị dưới một tên duy nhất và bạn có thể truy cập các giá trị bằng cách tham khảo số chỉ mục.
Truy cập các yếu tố của một mảng
Bạn tham khảo một phần tử mảng bằng cách tham khảo số chỉ mục.
Thí dụ
Tạo một mảng chứa tên xe:
Ô tô = ["Ford", "Volvo", "BMW"]
Hãy tự mình thử »
Một mảng là gì?
Một mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị tại một thời điểm.
Thí dụ
Tạo một mảng chứa tên xe:
Ô tô = ["Ford", "Volvo", "BMW"]
Hãy tự mình thử »
Một mảng là gì? The length of an array is always one more than the highest array index.
Một mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị tại một thời điểm.
Nếu bạn có một danh sách các mặt hàng [ví dụ danh sách các tên xe hơi], việc lưu trữ xe trong các biến đơn có thể trông như thế này:
car1 = "ford" car2 = "volvo" car3 = "bmw"
Tuy nhiên, điều gì sẽ xảy ra nếu bạn muốn lặp qua những chiếc xe và tìm một chiếc cụ thể? Và điều gì sẽ xảy ra nếu bạn không có 3 chiếc xe, mà là 300?
Thí dụ
Tạo một mảng chứa tên xe:
Ô tô = ["Ford", "Volvo", "BMW"]
Hãy tự mình thử »
Một mảng là gì?
Một mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị tại một thời điểm.
Nếu bạn có một danh sách các mặt hàng [ví dụ danh sách các tên xe hơi], việc lưu trữ xe trong các biến đơn có thể trông như thế này:
Thí dụ
Tạo một mảng chứa tên xe:
Ô tô = ["Ford", "Volvo", "BMW"]
Hãy tự mình thử »
Một mảng là gì? The list's
def __eq__[self, other]:
return self.Value == other.Value
3 method only removes the first occurrence of the specified value.Một mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị tại một thời điểm.
Nếu bạn có một danh sách các mặt hàng [ví dụ danh sách các tên xe hơi], việc lưu trữ xe trong các biến đơn có thể trông như thế này:
Giải pháp là một mảng! | Một mảng có thể chứa nhiều giá trị dưới một tên duy nhất và bạn có thể truy cập các giá trị bằng cách tham khảo số chỉ mục. |
Truy cập các yếu tố của một mảng | Bạn tham khảo một phần tử mảng bằng cách tham khảo số chỉ mục. |
Sửa đổi giá trị của mục mảng đầu tiên: | Ô tô [0] = "Toyota" |
Chiều dài của một mảng | Sử dụng phương thức 7 để trả về độ dài của một mảng [số lượng phần tử trong một mảng]. |
Trả về số lượng phần tử trong mảng 8: | x = len [ô tô] |
Lưu ý: Độ dài của một mảng luôn nhiều hơn một chỉ số mảng cao nhất. | Vòng lặp các yếu tố mảng |
Bạn có thể sử dụng vòng 9 để lặp qua tất cả các phần tử của một mảng. | Thêm các phần tử mảng |
Bạn có thể sử dụng phương thức 0 để thêm một phần tử vào một mảng. | Thêm một phần tử nữa vào mảng 8: |
ô tô.append ["Honda"] | Loại bỏ các yếu tố mảng |
Bạn có thể sử dụng phương thức 2 để xóa một phần tử khỏi mảng. | Bạn cũng có thể sử dụng phương thức 3 để xóa một phần tử khỏi mảng. |
Xóa phần tử có giá trị "Volvo": | Cars.Remove ["Volvo"] |
Lưu ý: Python không có hỗ trợ tích hợp cho các mảng, nhưng danh sách Python có thể được sử dụng thay thế. Python does not have built-in support for Arrays, but Python Lists can be used instead.
218
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Cách tốt để tìm chỉ số của một yếu tố trong danh sách trong Python là gì? Lưu ý rằng danh sách có thể không được sắp xếp.
Note that the list may not be sorted.
Có cách nào để chỉ định nhà điều hành so sánh nào để sử dụng không?
hỏi ngày 3 tháng 3 năm 2009 lúc 1:45Mar 3, 2009 at 1:45
2
Từ lặn vào Python:
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.index["example"]
5
Stivlo
81.4K31 Huy hiệu vàng141 Huy hiệu bạc198 Huy hiệu đồng31 gold badges141 silver badges198 bronze badges
Đã trả lời ngày 3 tháng 3 năm 2009 lúc 1:52Mar 3, 2009 at 1:52
3
Nếu bạn chỉ muốn tìm hiểu xem một phần tử có trong danh sách hay không:
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False
Đã trả lời ngày 17 tháng 2 năm 2011 lúc 10:00Feb 17, 2011 at 10:00
EduardoeduardoEduardo
1.7511 Huy hiệu vàng10 Huy hiệu bạc5 Huy hiệu đồng1 gold badge10 silver badges5 bronze badges
0
Cách tốt nhất có lẽ là sử dụng phương thức danh sách .index.
Đối với các đối tượng trong danh sách, bạn có thể làm một cái gì đó như:
def __eq__[self, other]:
return self.Value == other.Value
với bất kỳ xử lý đặc biệt nào bạn cần.
Bạn cũng có thể sử dụng câu lệnh FOR/IN với Tái lập [ARR]
Ví dụ về việc tìm kiếm chỉ mục của một mặt hàng có giá trị> 100.
for index, item in enumerate[arr]:
if item > 100:
return index, item
Nguồn
tedder42
22.4K11 Huy hiệu vàng83 Huy hiệu bạc96 Huy hiệu Đồng11 gold badges83 silver badges96 bronze badges
Đã trả lời ngày 3 tháng 3 năm 2009 lúc 1:51Mar 3, 2009 at 1:51
Brian R. Bondybrian R. BondyBrian R. Bondy
332K122 Huy hiệu vàng586 Huy hiệu bạc629 Huy hiệu Đồng122 gold badges586 silver badges629 bronze badges
Dưới đây là một cách khác sử dụng khả năng hiểu danh sách [một số người có thể thấy nó gây tranh cãi]. Nó rất dễ tiếp cận cho các bài kiểm tra đơn giản, ví dụ: So sánh trên các thuộc tính đối tượng [mà tôi cần rất nhiều]:
el = [x for x in mylist if x.attr == "foo"][0]
Tất nhiên điều này giả định sự tồn tại [và, thực tế, tính duy nhất] của một yếu tố phù hợp trong danh sách.
Đã trả lời ngày 24 tháng 9 năm 2010 lúc 9:35Sep 24, 2010 at 9:35
ThomashthomashThomasH
21.4K13 Huy hiệu vàng59 Huy hiệu bạc61 Huy hiệu đồng13 gold badges59 silver badges61 bronze badges
3
Giả sử bạn muốn tìm một giá trị trong một mảng numpy, tôi đoán một cái gì đó như thế này có thể hoạt động:
Numpy.where[arr=="value"][0]
Jorgesys
121K23 Huy hiệu vàng322 Huy hiệu bạc261 Huy hiệu Đồng23 gold badges322 silver badges261 bronze badges
Đã trả lời ngày 27 tháng 1 năm 2011 lúc 15:03Jan 27, 2011 at 15:03
2
Có phương thức
def __eq__[self, other]:
return self.Value == other.Value
5, def __eq__[self, other]:
return self.Value == other.Value
6, nhưng tôi không nghĩ rằng bạn có thể chỉ định toán tử so sánh tùy chỉnh. Mặc dù vậy, sẽ không khó để viết chức năng của riêng bạn để làm như vậy:def custom_index[array, compare_function]:
for i, v in enumerate[array]:
if compare_function[v]:
return i
Đã trả lời ngày 3 tháng 3 năm 2009 lúc 1:50Mar 3, 2009 at 1:50
David Zdavid zDavid Z
124K26 Huy hiệu vàng249 Huy hiệu bạc275 Huy hiệu Đồng26 gold badges249 silver badges275 bronze badges
Tôi sử dụng chức năng để trả về chỉ mục cho phần tử phù hợp [Python 2.6]:
def index[l, f]:
return next[[i for i in xrange[len[l]] if f[l[i]]], None]
Sau đó sử dụng nó thông qua hàm Lambda để truy xuất phần tử cần thiết bằng bất kỳ phương trình cần thiết nào, ví dụ: bằng cách sử dụng tên phần tử.
element = mylist[index[mylist, lambda item: item["name"] == "my name"]]
Nếu tôi cần sử dụng nó ở một số nơi trong mã của mình, tôi chỉ xác định chức năng tìm cụ thể, ví dụ: Để tìm phần tử theo tên:
def find_name[l, name]:
return l[index[l, lambda item: item["name"] == name]]
Và sau đó nó khá dễ dàng và dễ đọc:
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False
0Đã trả lời ngày 20 tháng 10 năm 2011 lúc 12:30Oct 20, 2011 at 12:30
Jkijkijki
4.5771 Huy hiệu vàng33 Huy hiệu bạc29 Huy hiệu đồng1 gold badge33 silver badges29 bronze badges
Phương pháp chỉ mục của một danh sách sẽ làm điều này cho bạn. Nếu bạn muốn đảm bảo đặt hàng, hãy sắp xếp danh sách trước bằng cách sử dụng
def __eq__[self, other]:
return self.Value == other.Value
7. Sắp xếp chấp nhận một CMP hoặc tham số khóa để chỉ ra cách sắp xếp sẽ xảy ra:>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False
1Or:
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False
2Đã trả lời ngày 3 tháng 3 năm 2009 lúc 1:52Mar 3, 2009 at 1:52
Nếu bạn chỉ muốn tìm hiểu xem một phần tử có trong danh sách hay không:Jarret Hardie
Đã trả lời ngày 17 tháng 2 năm 2011 lúc 10:0010 gold badges130 silver badges125 bronze badges
Eduardoeduardo
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False
3Usage:
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False
41.7511 Huy hiệu vàng10 Huy hiệu bạc5 Huy hiệu đồngMar 3, 2009 at 2:06
2
Cách tốt nhất có lẽ là sử dụng phương thức danh sách .index.
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False
5Đối với các đối tượng trong danh sách, bạn có thể làm một cái gì đó như:
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False
6với bất kỳ xử lý đặc biệt nào bạn cần.
Bạn cũng có thể sử dụng câu lệnh FOR/IN với Tái lập [ARR]Oct 16, 2011 at 11:41