Hướng dẫn how do i find a string in an array python? - làm cách nào để tìm một chuỗi trong một mảng python?

Trong bài viết này, chúng tôi sẽ xem xét cách chúng ta có thể tìm thấy một chuỗi trong một danh sách trong Python.


Có nhiều cách tiếp cận khác nhau cho vấn đề này, từ sự dễ sử dụng đến hiệu quả.

Sử dụng toán tử ’trong

Chúng ta có thể sử dụng Python, trong toán tử để tìm một chuỗi trong danh sách trong Python. Điều này mất hai toán hạng

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

9 và
2 is inside the list
Hello is inside the list
Hi is not present in the list
0, và có dạng:in operator to find a string in a list in Python. This takes in two operands
def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

9 and
2 is inside the list
Hello is inside the list
Hi is not present in the list
0, and is of the form:

Ở đây,

2 is inside the list
Hello is inside the list
Hi is not present in the list
1 là một boolean, đánh giá là
2 is inside the list
Hello is inside the list
Hi is not present in the list
2 nếu
def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

9 nằm bên trong
2 is inside the list
Hello is inside the list
Hi is not present in the list
0 và
2 is inside the list
Hello is inside the list
Hi is not present in the list
5 khác.

Chúng tôi có thể trực tiếp sử dụng toán tử này theo cách sau:

a = [1, 2, 3]

b = 4

if b in a:
    print('4 is present!')
else:
    print('4 is not present')

Đầu ra

Chúng ta cũng có thể chuyển đổi điều này thành một chức năng, để dễ sử dụng.

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

Đầu ra

2 is inside the list
Hello is inside the list
Hi is not present in the list

Chúng ta cũng có thể chuyển đổi điều này thành một chức năng, để dễ sử dụng.


Đây là cách được sử dụng phổ biến nhất và được khuyến nghị để tìm kiếm một chuỗi trong danh sách. Nhưng, để minh họa, chúng tôi cũng sẽ chỉ cho bạn các phương pháp khác.

Sử dụng danh sách hiểu

Hãy cùng lấy một trường hợp khác, trong đó bạn muốn chỉ kiểm tra xem chuỗi có phải là một phần của một từ khác trong danh sách và trả về tất cả các từ như vậy trong đó từ của bạn là chuỗi phụ của mục danh sách.

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']

Xem xét danh sách dưới đây:

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']

matches = [match for match in ls if "Hello" in match]

print(matches)

Nếu bạn muốn tìm kiếm bộ con

2 is inside the list
Hello is inside the list
Hi is not present in the list
6 trong tất cả các yếu tố của danh sách, chúng ta có thể sử dụng các toàn bộ danh sách theo định dạng sau:

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']

matches = []

for match in ls:
    if "Hello" in match:
        matches.append(match)

print(matches)

Điều này tương đương với mã dưới đây, đơn giản là có hai vòng và kiểm tra cho điều kiện.

['Hello from AskPython', 'Hello', 'Hello boy!']

Trong cả hai trường hợp, đầu ra sẽ là:


Như bạn có thể quan sát, trong đầu ra, tất cả các trận đấu đều chứa chuỗi 2 is inside the list Hello is inside the list Hi is not present in the list 6 như một phần của chuỗi. Đơn giản, có phải là nó không?

Sử dụng phương thức ‘bất kỳ ()any item of the list, We can use the any() method to check if this holds.

Trong trường hợp bạn muốn kiểm tra sự tồn tại của chuỗi đầu vào trong bất kỳ mục nào của danh sách, chúng tôi có thể sử dụng phương thức bất kỳ () để kiểm tra xem điều này có giữ được không.AskPython’ is a part of any of the items of the list, we can do the following:

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']

if any("AskPython" in word for word in ls):
    print('\'AskPython\' is there inside the list!')
else:
    print('\'AskPython\' is not there inside the list')

Đầu ra

'AskPython' is there inside the list!


Chúng ta cũng có thể chuyển đổi điều này thành một chức năng, để dễ sử dụng.

Đây là cách được sử dụng phổ biến nhất và được khuyến nghị để tìm kiếm một chuỗi trong danh sách. Nhưng, để minh họa, chúng tôi cũng sẽ chỉ cho bạn các phương pháp khác.

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']

# The second parameter is the input iterable
# The filter() applies the lambda to the iterable
# and only returns all matches where the lambda evaluates
# to true
filter_object = filter(lambda a: 'AskPython' in a, ls)

# Convert the filter object to list
print(list(filter_object))

Đầu ra

Chúng ta cũng có thể chuyển đổi điều này thành một chức năng, để dễ sử dụng.


Đây là cách được sử dụng phổ biến nhất và được khuyến nghị để tìm kiếm một chuỗi trong danh sách. Nhưng, để minh họa, chúng tôi cũng sẽ chỉ cho bạn các phương pháp khác.

Sử dụng danh sách hiểu


Hãy cùng lấy một trường hợp khác, trong đó bạn muốn chỉ kiểm tra xem chuỗi có phải là một phần của một từ khác trong danh sách và trả về tất cả các từ như vậy trong đó từ của bạn là chuỗi phụ của mục danh sách.

  • Xem xét danh sách dưới đây:
  • Nếu bạn muốn tìm kiếm bộ con
    2 is inside the list
    Hello is inside the list
    Hi is not present in the list
    
    6 trong tất cả các yếu tố của danh sách, chúng ta có thể sử dụng các toàn bộ danh sách theo định dạng sau:

Nếu tôi có một loạt các chuỗi, tôi có thể kiểm tra xem một chuỗi có nằm trong mảng mà không thực hiện vòng lặp

2 is inside the list
Hello is inside the list
Hi is not present in the list
9 không? Cụ thể, tôi đang tìm cách để thực hiện nó trong một tuyên bố
ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']
0, vì vậy một cái gì đó như thế này:

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

0

user1767754

22.2K16 Huy hiệu vàng134 Huy hiệu bạc156 Huy hiệu đồng16 gold badges134 silver badges156 bronze badges

hỏi ngày 28 tháng 6 năm 2012 lúc 19:39Jun 28, 2012 at 19:39

Hướng dẫn how do i find a string in an array python? - làm cách nào để tìm một chuỗi trong một mảng python?

SomekittenSsomekittensSomeKittens

38.1K19 Huy hiệu vàng111 Huy hiệu bạc142 Huy hiệu đồng19 gold badges111 silver badges142 bronze badges

3

Giả sử bạn có nghĩa là "danh sách" ở đâu bạn nói "mảng", bạn có thể làm

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

1

Điều này hoạt động cho bất kỳ bộ sưu tập, không chỉ cho danh sách. Đối với từ điển, nó kiểm tra xem khóa đã cho có trong từ điển hay không.

Đã trả lời ngày 28 tháng 6 năm 2012 lúc 19:40Jun 28, 2012 at 19:40

Sven Marnachsven MarnachSven Marnach

550K114 Huy hiệu vàng920 Huy hiệu bạc822 Huy hiệu Đồng114 gold badges920 silver badges822 bronze badges

4

Tôi cũng sẽ cho rằng bạn có nghĩa là "danh sách" khi bạn nói "mảng". Giải pháp của Sven Marnach là tốt. Nếu bạn sẽ thực hiện kiểm tra lặp đi lặp lại trong danh sách, thì có thể đáng để chuyển đổi nó thành một bộ hoặc đông lạnh, có thể nhanh hơn cho mỗi lần kiểm tra. Giả sử danh sách STR của bạn được gọi là

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']
1:

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

2

Đánh dấu tiền chuộc

292K40 Huy hiệu vàng384 Huy hiệu bạc610 Huy hiệu Đồng40 gold badges384 silver badges610 bronze badges

Đã trả lời ngày 28 tháng 6 năm 2012 lúc 19:43Jun 28, 2012 at 19:43

Michael Hoffmanmichael HoffmanMichael Hoffman

31.2K7 Huy hiệu vàng59 Huy hiệu bạc82 Huy hiệu Đồng7 gold badges59 silver badges82 bronze badges

Sử dụng chức năng Lambda.

Giả sử bạn có một mảng:

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

3

Kiểm tra xem 5 có ở

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']
2 trong Python 3.x:Python 3.X:

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

4

Kiểm tra xem 5 có thuộc

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']
2 trong Python 2.7:Python 2.7:

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

5

Giải pháp này mạnh mẽ hơn. Bây giờ bạn có thể kiểm tra xem bất kỳ số nào thỏa mãn một điều kiện nhất định có trong mảng

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']
2 của bạn không.

Ví dụ: kiểm tra xem bất kỳ số nào lớn hơn hoặc bằng 5 tồn tại trong

ls = ['Hello from AskPython', 'Hello', 'Hello boy!', 'Hi']
2:

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

6

T.Woody

1.0722 huy hiệu vàng11 Huy hiệu bạc24 Huy hiệu đồng2 gold badges11 silver badges24 bronze badges

Đã trả lời ngày 11 tháng 9 năm 2017 lúc 16:33Sep 11, 2017 at 16:33

Hướng dẫn how do i find a string in an array python? - làm cách nào để tìm một chuỗi trong một mảng python?

1

Bạn phải sử dụng .Values ​​cho mảng. Ví dụ: giả sử bạn có DataFrame có tên cột IE, kiểm tra ['name'], bạn có thể làm

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

7

Đối với một danh sách bình thường, bạn không cần phải sử dụng .Values

SLFAN

8.805115 Huy hiệu vàng66 Huy hiệu bạc78 Huy hiệu đồng115 gold badges66 silver badges78 bronze badges

Đã trả lời ngày 25 tháng 11 năm 2017 lúc 11:06Nov 25, 2017 at 11:06

1

Bạn cũng có thể sử dụng cùng một cú pháp cho một mảng. Ví dụ: tìm kiếm trong loạt gấu trúc:

def check_if_exists(x, ls):
    if x in ls:
        print(str(x) + ' is inside the list')
    else:
        print(str(x) + ' is not present in the list')


ls = [1, 2, 3, 4, 'Hello', 'from', 'AskPython']

check_if_exists(2, ls)
check_if_exists('Hello', ls)
check_if_exists('Hi', ls)

8

Đã trả lời ngày 11 tháng 12 năm 2015 lúc 23:32Dec 11, 2015 at 23:32

Hướng dẫn how do i find a string in an array python? - làm cách nào để tìm một chuỗi trong một mảng python?

BCRBCRBCR

93011 Huy hiệu bạc27 Huy hiệu đồng11 silver badges27 bronze badges