Việc sử dụng palindrome trong python là gì?

Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để kiểm tra xem một chuỗi có phải là một palindrome hay không. Bạn sẽ học sáu cách khác nhau để kiểm tra xem một chuỗi có phải là một đối xứng không, bao gồm sử dụng chỉ mục chuỗi, vòng lặp for, hàm reversed()

Bạn cũng sẽ tìm hiểu những hạn chế của các phương pháp tiếp cận khác nhau và khi nào nên sử dụng phương pháp này tốt hơn phương pháp khác. Nhưng trước khi đi sâu vào, hãy trả lời một câu hỏi nhanh

một bảng màu là gì?

Một palindrome là một từ, cụm từ hoặc trình tự được đánh vần giống nhau về phía trước cũng như ngược lại

Câu trả lời nhanh. Sử dụng lập chỉ mục chuỗi

Việc sử dụng palindrome trong python là gì?
Trả lời nhanh - Python Kiểm tra xem Chuỗi có phải là Palindrome hay không bằng cách sử dụng Lập chỉ mục chuỗi

Mục lục

Sử dụng Lập chỉ mục chuỗi Python để kiểm tra xem Chuỗi có phải là Palindrome không

Lập chỉ mục chuỗi cung cấp cách đơn giản nhất trong Python để kiểm tra xem một chuỗi có phải là một bảng màu không. Lập chỉ mục chuỗi có thể được sử dụng để lặp lại một chuỗi theo thứ tự ngược lại

Một trong những điều tuyệt vời nhất về lập chỉ mục Python là bạn cũng có thể đặt bộ đếm bước, nghĩa là bạn có thể di chuyển qua một lần lặp với tốc độ mong muốn. Cách mà chúng tôi sẽ sử dụng điều này là sử dụng một bước của -1, nghĩa là chúng tôi di chuyển qua lần lặp từ sau ra trước

Một điều quan trọng cần lưu ý là chuỗi của bạn có thể có cách viết hoa cũng như khoảng trắng khác nhau. Do đó, chúng tôi sẽ cần xử lý trước chuỗi của mình để xóa chữ viết hoa và mọi khoảng trắng

Chúng ta hãy xem cách sử dụng lập chỉ mục chuỗi để kiểm tra xem một chuỗi có phải là một bảng màu trong Python không

# Use String Indexing in Python to check if a String is a Palindrome

a_string = 'Was it a car or a cat I saw'

def palindrome(a_string):
    a_string = a_string.lower().replace(' ', '')
    return a_string == a_string[::-1]

print(palindrome(a_string))

# Returns: True

Hãy cùng khám phá những gì chúng tôi đã làm trong đoạn mã trên

  1. Chúng ta định nghĩa một hàm, palindrome(), nhận một chuỗi đơn làm tham số duy nhất của nó
  2. Sau đó, chúng tôi gán lại chuỗi cho chính nó nhưng hạ thấp tất cả các trường hợp ký tự (sử dụng phương thức .lower()) và xóa mọi khoảng trắng (sử dụng phương thức .replace())
  3. Sau đó, chúng tôi đánh giá xem chuỗi đã sửa đổi có bằng chuỗi đã sửa đổi theo thứ tự ngược lại hay không
  4. Điều này trả về
    # Use the Reversed() function in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''.join(reversed(a_string))
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    0 nếu chuỗi là một bảng màu và
    # Use the Reversed() function in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''.join(reversed(a_string))
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    1 nếu không phải là

Bây giờ, hãy xem cách chúng ta có thể sử dụng hàm reversed() của Python để kiểm tra xem một chuỗi có phải là một bảng màu không

Sử dụng Hàm đảo ngược Python để kiểm tra xem Chuỗi có phải là Palindrome không

Python đi kèm với một hàm dựng sẵn, reversed(), đảo ngược một mục có thể lặp lại, chẳng hạn như một chuỗi. Bạn có thể chuyển vào một số mục có thể lặp lại, có thể là một chuỗi, một danh sách hoặc bất kỳ thứ gì khác được sắp xếp và hàm trả về phiên bản đảo ngược của nó

Hãy xem cách chúng ta có thể sử dụng hàm reversed()

# Use the Reversed() function in Python to check if a String is a Palindrome

a_string = 'Was it a car or a cat I saw'

def palindrome(a_string):
    a_string = a_string.lower().replace(' ', '')
    reversed_string = ''.join(reversed(a_string))
    return a_string == reversed_string

print(palindrome(a_string))

# Returns: True

Hãy xem chức năng của chúng ta làm gì

  1. Tương tự như phương pháp trên, trước tiên, hàm sẽ thay đổi tất cả chữ hoa thành chữ thường và xóa tất cả khoảng trắng
  2. Sau đó, nó sử dụng hàm
    # Use the Reversed() function in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''.join(reversed(a_string))
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    5 để đảo ngược chuỗi
  3. Vì hàm
    # Use the Reversed() function in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''.join(reversed(a_string))
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    5 trả về một đối tượng
    # Use the Reversed() function in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''.join(reversed(a_string))
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    7 nên chúng ta cần biến nó trở lại thành một chuỗi. Điều này có thể được thực hiện bằng cách sử dụng phương pháp
    # Use the Reversed() function in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''.join(reversed(a_string))
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    8
  4. Cuối cùng, hai chuỗi được đánh giá xem chúng có bằng nhau hay không

Trong phần tiếp theo, bạn sẽ học cách sử dụng vòng lặp for để kiểm tra xem một chuỗi có phải là một palindrome hay không

Sử dụng Vòng lặp For để kiểm tra xem Chuỗi Python có phải là Palindrome không

Bạn cũng có thể sử dụng vòng lặp for Python để lặp qua một chuỗi theo thứ tự ngược lại, để xem chuỗi đó có phải là một đối xứng hay không

Hãy xem cách chúng ta có thể sử dụng vòng lặp for để kiểm tra xem một chuỗi có phải là một palindrome không

________số 8_______

Những gì chúng tôi đã làm ở đây là duyệt qua danh sách từ chỉ mục cuối cùng, -1, đến đầu tiên,

# Use a For Loop in Python to check if a String is a Palindrome

a_string = 'Was it a car or a cat I saw'

def palindrome(a_string):
    a_string = a_string.lower().replace(' ', '')
    reversed_string = ''
    for i in range(len(a_string), 0, -1):
        reversed_string += a_string[i-1]
    return a_string == reversed_string

print(palindrome(a_string))

# Returns: True
0. Sau đó, chúng tôi gán giá trị đó cho một chuỗi
# Use the Reversed() function in Python to check if a String is a Palindrome

a_string = 'Was it a car or a cat I saw'

def palindrome(a_string):
    a_string = a_string.lower().replace(' ', '')
    reversed_string = ''.join(reversed(a_string))
    return a_string == reversed_string

print(palindrome(a_string))

# Returns: True
7. Cuối cùng, chúng tôi đánh giá xem hai chuỗi có bằng nhau không

Trong phần tiếp theo, bạn sẽ học cách sử dụng vòng lặp while trong Python để xem liệu một bảng màu có tồn tại hay không

Sử dụng Python While Loop để kiểm tra xem một chuỗi có phải là Palindrome không

Trong phần này, hãy khám phá cách sử dụng vòng lặp while trong Python để xem một chuỗi có phải là một đối xứng hay không

Một trong những lợi ích của phương pháp này là chúng ta thực sự không cần gán lại một chuỗi đảo ngược, nếu chuỗi của bạn lớn, sẽ không tiêu tốn nhiều bộ nhớ

Hãy xem cách chúng ta có thể sử dụng vòng lặp while trong Python

# Use a While Loop in Python to check if a String is a Palindrome

a_string = 'Was it a car or a cat I saw'

def palindrome(a_string):
    a_string = a_string.lower().replace(' ', '')
    first, last = 0, len(a_string) - 1

    while(first < last):
        if(a_string[first] == a_string[last]):
            first += 1
            last -= 1
        else:
            return False

    return True

print(palindrome(a_string))

# Returns: True

Hãy chia nhỏ khối mã ở trên đang làm gì

  1. Chúng tôi định nghĩa một hàm,
    # Use a For Loop in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''
        for i in range(len(a_string), 0, -1):
            reversed_string += a_string[i-1]
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    2, chấp nhận một chuỗi làm đối số duy nhất của nó
  2. Chúng tôi định dạng chuỗi của mình bằng tất cả chữ thường và thay thế mọi khoảng trắng
  3. Sau đó, chúng tôi tạo hai biến,
    # Use a For Loop in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''
        for i in range(len(a_string), 0, -1):
            reversed_string += a_string[i-1]
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    3 và
    # Use a For Loop in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''
        for i in range(len(a_string), 0, -1):
            reversed_string += a_string[i-1]
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    4 lần lượt bằng 0 và độ dài của danh sách trừ đi 1
  4. Sau đó, chúng tôi tạo một vòng lặp while, vòng lặp này chạy miễn là giá trị của
    # Use a For Loop in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''
        for i in range(len(a_string), 0, -1):
            reversed_string += a_string[i-1]
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    3 nhỏ hơn
    # Use a For Loop in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''
        for i in range(len(a_string), 0, -1):
            reversed_string += a_string[i-1]
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    4
  5. Vòng lặp đánh giá xem giá trị được lập chỉ mục của
    # Use a For Loop in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''
        for i in range(len(a_string), 0, -1):
            reversed_string += a_string[i-1]
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    3 và
    # Use a For Loop in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''
        for i in range(len(a_string), 0, -1):
            reversed_string += a_string[i-1]
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    4 có bằng nhau không
  6. Nếu đúng như vậy, các giá trị lần lượt được tăng và giảm đi 1
  7. Nếu không, hàm trả về
    # Use the Reversed() function in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''.join(reversed(a_string))
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    1

Một lợi ích hiệu suất chính ở đây có thể là nếu một chuỗi rõ ràng không phải là một bảng màu, giả sử nếu ký tự đầu tiên và ký tự cuối cùng không khớp, thì vòng lặp sẽ bị hỏng. Điều này giúp chúng tôi tiết kiệm đáng kể bộ nhớ và thời gian

Kiểm tra xem Chuỗi có phải là Palindrome hay không bằng cách sử dụng Đệ quy trong Python

Trong phần này, bạn sẽ học cách sử dụng đệ quy để kiểm tra xem một chuỗi có phải là một đối xứng trong Python hay không. Các hàm đệ quy có thể được sử dụng để làm cho mã của bạn đơn giản và gọn gàng hơn trong khi vẫn cung cấp nhiều chức năng

Hãy xem cách chúng ta có thể phát triển một hàm đệ quy để kiểm tra xem một chuỗi có phải là một palindrome hay không

# Using Recursion to Check if a String is a Palindrome in Python
a_string = 'Was it a car or a cat I saw'

def palindrome(a_string):
    a_string = a_string.lower().replace(' ', '')
    if a_string[0] != a_string[-1]:
        return False
    else:
        return palindrome(a_string[1:-1])


print(palindrome(a_string))

# Returns:
# True

Hãy chia nhỏ những gì chúng ta đã làm trong đoạn mã trên

  1. Chúng ta đã định nghĩa một hàm,
    # Use a For Loop in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''
        for i in range(len(a_string), 0, -1):
            reversed_string += a_string[i-1]
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    2, lấy một chuỗi làm tham số duy nhất của nó
  2. Hàm đầu tiên viết thường chuỗi và xóa mọi khoảng trắng
  3. Sau đó, nó sẽ kiểm tra xem các ký tự đầu tiên và cuối cùng có giống nhau không
  4. Nếu không, thì hàm trả về
    # Use the Reversed() function in Python to check if a String is a Palindrome
    
    a_string = 'Was it a car or a cat I saw'
    
    def palindrome(a_string):
        a_string = a_string.lower().replace(' ', '')
        reversed_string = ''.join(reversed(a_string))
        return a_string == reversed_string
    
    print(palindrome(a_string))
    
    # Returns: True
    1
  5. Nếu đúng như vậy, hàm được gọi theo cách đệ quy, bỏ qua các chữ cái đầu tiên và cuối cùng

Trong phần tiếp theo, bạn sẽ tìm hiểu cách kiểm tra xem một số có phải là số đối xứng hay không

Kiểm tra xem một số có phải là Palindrome trong Python không

Cách dễ nhất để kiểm tra xem một số có phải là bảng màu Python hay không là chuyển đổi số đó thành một chuỗi và áp dụng bất kỳ phương pháp nào được đề cập ở trên

Hãy xem cách chúng ta có thể làm điều này bằng cách sử dụng phương pháp lập chỉ mục chuỗi

# Use String Indexing in Python to check if a Number is a Palindrome

a_number = 123454321

def palindrome(number):
    number = str(number)
    return number == number[::-1]

print(palindrome(a_number))

# Returns: True

Để kiểm tra xem một số có phải là một bảng màu trong Python hay không, chúng tôi đã chuyển đổi số đó thành một chuỗi bằng phương thức

# Use a While Loop in Python to check if a String is a Palindrome

a_string = 'Was it a car or a cat I saw'

def palindrome(a_string):
    a_string = a_string.lower().replace(' ', '')
    first, last = 0, len(a_string) - 1

    while(first < last):
        if(a_string[first] == a_string[last]):
            first += 1
            last -= 1
        else:
            return False

    return True

print(palindrome(a_string))

# Returns: True
2. Từ đó, chúng ta có thể chỉ cần kiểm tra xem chuỗi kết quả có phải là một bảng màu hay không bằng cách sử dụng bất kỳ phương pháp nào ở trên. Trong ví dụ mã, chúng tôi đã sử dụng lập chỉ mục chuỗi để đảo ngược chuỗi

Cách nhanh nhất để kiểm tra xem Chuỗi có phải là Palindrome trong Python không?

Trong đoạn mã trên, bạn đã học được sáu cách khác nhau để sử dụng Python để kiểm tra xem một chuỗi có phải là một palindrome hay không. Tại thời điểm này, bạn có thể tự hỏi nên sử dụng phương pháp nào. Trong nhiều trường hợp, bạn sẽ muốn đạt được khả năng đọc và tốc độ

Trong phần này, chúng tôi đã kiểm tra tốc độ của các phương pháp khác nhau bằng cách sử dụng bảng màu dài hơn mười triệu ký tự. Bởi vì đệ quy thường được giới hạn ở 1.000 cuộc gọi đệ quy, phương pháp này không được kiểm tra

Cách nhanh nhất để sử dụng Python để kiểm tra xem một chuỗi có phải là palindrome không?

Cách nhanh nhất để kiểm tra xem một chuỗi có phải là bảng màu hay không bằng Python là sử dụng lập chỉ mục chuỗi, có thể nhanh hơn tới 70 lần so với sử dụng vòng lặp for

Dưới đây, bạn sẽ tìm thấy kết quả của các bài kiểm tra

Thời gian thực hiện phương thức (10.000.000 ký tự)Chỉ mục chuỗi 22. 7 msreversed() Function303 msWhile Loop1. 02 giây Đối với vòng lặp 1. 6 giây

Hình ảnh dưới đây phá vỡ so sánh tốc độ

Việc sử dụng palindrome trong python là gì?
Sử dụng cắt chuỗi là cách nhanh nhất để kiểm tra xem một chuỗi có phải là một bảng màu trong Python hay không

Phần kết luận

Trong bài đăng này, bạn đã học được một số cách khác nhau để kiểm tra xem một chuỗi Python có phải là một palindrome hay không. Bạn đã học cách thực hiện điều này với lập chỉ mục chuỗi Python, hàm reversed() Python, cả vòng lặp for và while. Bạn cũng đã học cách kiểm tra xem một số có phải là một bảng màu Python hay không và cách tìm kiếm một chuỗi lớn hơn cho một chuỗi con là một bảng màu

Chức năng của palindrome là gì?

Một bảng màu được sử dụng để xác minh một chuỗi số, chuỗi hoặc chữ cái được đọc từ trái sang phải và từ phải sang trái để khớp với cùng một ký tự hoặc trả về cùng một chuỗi . .

Chức năng palindrome trong python là gì?

Một chuỗi được gọi là đối xứng nếu mặt ngược của chuỗi giống với chuỗi . Ví dụ: "radar" là một bảng màu nhạt, nhưng "cơ số" không phải là một bảng màu. ví dụ. Đầu vào. đầu ra tiếng Malayalam. Có đầu vào. chuyên viên máy tính Đầu ra. Không.

một từ palindrome trong python là gì?

Palindrome là một chuỗi các từ, cụm từ hoặc số đọc ngược cũng như đọc xuôi . Trong bài viết này, chúng ta sẽ thảo luận về các phương pháp khác nhau để kiểm tra xem một chuỗi có phải là một bảng màu trong python hay không.