Hướng dẫn how do you search an array in python? - làm thế nào để bạn tìm kiếm một mảng trong python?

Mảng thường được gọi là danh sách. Đối với niềm tin, hãy gọi họ là mảng trong bài viết này.

Python có một phương thức để tìm kiếm một phần tử trong một mảng, được gọi là index (). Chúng ta có thể tìm thấy một chỉ mục bằng cách sử dụng:index().
We can find an index using:


x = ['p','y','t','h','o','n']
print(x.index('o'))

Mảng bắt đầu với Index Zero (0) trong Python:

Hướng dẫn how do you search an array in python? - làm thế nào để bạn tìm kiếm một mảng trong python?
Mảng nhân vật Python

Nếu bạn sẽ chạy X.index (‘P,), bạn sẽ nhận được bằng không dưới dạng đầu ra (chỉ mục đầu tiên).

Khóa học liên quan:

  • Khóa học về sự cố Python: Lập trình Master Python

Mảng trùng lặp: Nếu mảng chứa các bản sao, phương thức index () sẽ chỉ trả về phần tử đầu tiên. If the array contains duplicates, the index() method will only return the first element.

Tìm nhiều lần xảy ra

Nếu bạn muốn nhiều để tìm nhiều lần xuất hiện của một phần tử, hãy sử dụng hàm Lambda bên dưới.multiple occurrences of an element, use the lambda function below.


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

Tìm trong các mảng chuỗi

Để tìm một phần tử trong một mảng chuỗi sử dụng:


x = ["Moon","Earth","Jupiter"]
print(x.index("Earth"))

Bạn có thể sử dụng mã này nếu bạn muốn tìm nhiều lần xuất hiện:



x = ["Moon","Earth","Jupiter","Neptune","Earth","Venus"]
get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]
print(get_indexes("Earth",x))


Tìm trong mảng số

Phương thức chỉ mục cũng hoạt động trên các mảng số:


x = [5,1,7,0,3,4]
print(x.index(7))

Để tìm nhiều lần xuất hiện, bạn có thể sử dụng chức năng Lambda này:



x = [5,1,7,0,3,4,5,3,2,6,7,3,6]
get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]
print(get_indexes(7,x))


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ướng dẫn how do you search an array in python? - làm thế nào để bạn tìm kiếm một mảng trong python?

hỏi ngày 3 tháng 3 năm 2009 lúc 1:45Mar 3, 2009 at 1:45

Hướng dẫn how do you search an array in python? - làm thế nào để bạn tìm kiếm một mảng trong python?

2

Từ lặn vào Python:

>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> li.index("example")
5

Stivlo

81.2K31 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

Jarret Hardiejarret Hardie

>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']
>>> 'example' in li
True
>>> 'damn' in li
False

91.9k10 Huy hiệu vàng130 Huy hiệu bạc125 Huy hiệu ĐồngFeb 17, 2011 at 10:00

Cái này thế nào?Eduardo

Đã trả lời ngày 3 tháng 3 năm 2009 lúc 2:061 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.3k11 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

331K122 Huy hiệu vàng586 Huy hiệu bạc628 Huy hiệu Đồng122 gold badges586 silver badges628 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):


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

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:


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

1

Hướng dẫn how do you search an array in python? - làm thế nào để bạn tìm kiếm một mảng trong python?

Jorgesys

121K23 Huy hiệu vàng322 Huy hiệu bạc260 Huy hiệu Đồng23 gold badges322 silver badges260 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


x = ["Moon","Earth","Jupiter"]
print(x.index("Earth"))

3,

x = ["Moon","Earth","Jupiter"]
print(x.index("Earth"))

4, 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:


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

2

Đã trả lời ngày 3 tháng 3 năm 2009 lúc 1:50Mar 3, 2009 at 1:50

Hướng dẫn how do you search an array in python? - làm thế nào để bạn tìm kiếm một mảng trong python?

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):


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

3

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ử.


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

4

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:


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

5

Và sau đó nó khá dễ dàng và dễ đọc:


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

6

Đã trả lời ngày 20 tháng 10 năm 2011 lúc 12:30Oct 20, 2011 at 12:30

Hướng dẫn how do you search an array in python? - làm thế nào để bạn tìm kiếm một mảng trong python?

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


x = ["Moon","Earth","Jupiter"]
print(x.index("Earth"))

5. 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:


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

7

Or:


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

8

Đã trả lời ngày 3 tháng 3 năm 2009 lúc 1:52Mar 3, 2009 at 1:52

Jarret Hardiejarret HardieJarret Hardie

91.9k10 Huy hiệu vàng130 Huy hiệu bạc125 Huy hiệu Đồng10 gold badges130 silver badges125 bronze badges

Cái này thế nào?


get_indexes = lambda x, xs: [i for (y, i) in zip(xs, range(len(xs))) if x == y]

9

Usage:


x = ["Moon","Earth","Jupiter"]
print(x.index("Earth"))

0

Đã trả lời ngày 3 tháng 3 năm 2009 lúc 2:06Mar 3, 2009 at 2:06

2

Tôi tìm thấy điều này bằng cách điều chỉnh một số tutos. Cảm ơn Google và tất cả các bạn;)


x = ["Moon","Earth","Jupiter"]
print(x.index("Earth"))

1

Sử dụng rất đơn giản:


x = ["Moon","Earth","Jupiter"]
print(x.index("Earth"))

2

P.S. Scuse tiếng Anh của tôi

Đã trả lời ngày 16 tháng 10 năm 2011 lúc 11:41Oct 16, 2011 at 11:41

Làm thế nào để bạn tìm kiếm một mảng?

Tìm kiếm một mảng..
Cách đơn giản nhất là sử dụng thuật toán tìm kiếm tuần tự: hàm kiểm tra từng phần tử trong mảng từ phần đầu đến phần tử cuối cùng (hoặc ngược lại) để xem nó có khớp với giá trị đích không.....
Nếu không tìm thấy trận đấu nào sau khi kiểm tra tất cả các phần tử của mảng, thì hàm sẽ trả về -1 ..

Làm cách nào để tìm kiếm một danh sách trong Python?

Để tìm một phần tử trong danh sách, hãy sử dụng phương thức Python List Index (), Index () là phương thức Python sẵn có tìm kiếm một mục trong danh sách và trả về chỉ mục của nó.Phương thức Index () tìm thấy phần tử đã cho trong danh sách và trả về vị trí của nó.use the Python list index() method, The index() is an inbuilt Python method that searches for an item in the list and returns its index. The index() method finds the given element in the list and returns its position.

Làm cách nào để tìm kiếm tất cả các yếu tố trong một mảng numpy?

Nếu chúng ta có một mảng numpy với dữ liệu boolean, true hoặc false, chúng ta có thể sử dụng np.all () để kiểm tra xem tất cả các yếu tố có đúng không.np. all() to check if all of the elements are True .

Làm thế nào để bạn tìm thấy chỉ số của một phần tử mảng trong Python?

Phương thức Index () trả về chỉ mục của phần tử đã cho trong danh sách.Nếu phần tử không được tìm thấy, một ngoại lệ giá trị được nâng lên. returns the index of the given element in the list. If the element is not found, a ValueError exception is raised.