Palindrome của một câu trong Python

Khi được yêu cầu sắp xếp các từ trong bảng màu có trong một câu, một phương thức được định nghĩa lấy một chuỗi làm tham số và trước tiên đảm bảo rằng đó là một bảng màu. Sau đó, nó sắp xếp tất cả các từ của một chuỗi và trả về nó dưới dạng đầu ra

Ví dụ

Dưới đây là một cuộc biểu tình của cùng một

def check_palindrome(my_string):
   if(my_string == my_string[::-1]):
      return True
   else:
      return False

def print_sort_palindromes(my_sentence):
   my_list = []

   my_result = list(my_sentence.split())

   for i in my_result:

      if(check_palindrome(i)):
         my_list.append(i)

   my_list.sort()

   j = 0

   for i in range(len(my_result)):

      if(check_palindrome(my_result[i])):
         my_result[i] = my_list[j]
         j = j + 1

   for i in my_result:
      print(i)

my_sentence = "hi madam, how are u"
print("The sentence is ")
print(my_sentence)
print("The result is :")
print_sort_palindromes(my_sentence)

đầu ra

The sentence is
hi madam, how are u
The result is :
hi
madam,
how
are
u

Giải trình

  • Một phương thức có tên ‘check_palindrome’ được định nghĩa lấy một chuỗi làm tham số

  • Nó kiểm tra xem một chuỗi có phải là một palindrome không

  • Một phương thức khác có tên ‘print_sort_palindromes’ được định nghĩa lấy một câu làm tham số

  • Bên trong chức năng này, một danh sách rỗng được tạo ra

  • Câu được phân chia dựa trên khoảng trắng và được chuyển đổi thành một danh sách các phần tử

  • Các thành phần danh sách được lặp đi lặp lại và được kiểm tra để xem các từ trong câu có phải là palindromes không

    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 palindrome hay không, bao gồm sử dụng chỉ mục chuỗi, vòng lặp for, hàm

    # 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
    7

    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

    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

    Palindrome của một câu trong Python
    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

    # 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
    8, 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
      # 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
      9) và xóa mọi khoảng trắng (sử dụng phương thức
      # 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)
    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 palindrome 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 nó không phải là

    Bây giờ, hãy xem cách chúng ta có thể sử dụng hàm

    # 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
    7 của Python để kiểm tra xem một chuỗi có phải là một palindrome 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,

    # 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
    7, đả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

    # 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
    7

    # 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

    The sentence is
    hi madam, how are u
    The result is :
    hi
    madam,
    how
    are
    u
    0

    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,

    # 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
    8, đến đầu tiên,
    The sentence is
    hi madam, how are u
    The result is :
    hi
    madam,
    how
    are
    u
    00. 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

    The sentence is
    hi madam, how are u
    The result is :
    hi
    madam,
    how
    are
    u
    3

    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,
      The sentence is
      hi madam, how are u
      The result is :
      hi
      madam,
      how
      are
      u
      02, 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,
      The sentence is
      hi madam, how are u
      The result is :
      hi
      madam,
      how
      are
      u
      03 và
      The sentence is
      hi madam, how are u
      The result is :
      hi
      madam,
      how
      are
      u
      04 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
      The sentence is
      hi madam, how are u
      The result is :
      hi
      madam,
      how
      are
      u
      03 nhỏ hơn
      The sentence is
      hi madam, how are u
      The result is :
      hi
      madam,
      how
      are
      u
      04
    5. Vòng lặp đánh giá xem giá trị được lập chỉ mục của
      The sentence is
      hi madam, how are u
      The result is :
      hi
      madam,
      how
      are
      u
      03 và
      The sentence is
      hi madam, how are u
      The result is :
      hi
      madam,
      how
      are
      u
      04 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

    # 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
    2

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

    1. Chúng tôi đã định nghĩa một hàm,
      The sentence is
      hi madam, how are u
      The result is :
      hi
      madam,
      how
      are
      u
      02, nhận 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 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
    5

    Để 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

    The sentence is
    hi madam, how are u
    The result is :
    hi
    madam,
    how
    are
    u
    32. 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 độ

    Palindrome của một câu trong Python
    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 Python

    # 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
    7, 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

    Một câu có thể là một palindrome?

    Palindrome là một từ, câu, câu thơ hoặc số chẵn đọc ngược hoặc xuôi giống nhau

    Có chức năng palindrome trong python không?

    Để kiểm tra bảng màu trong python bằng cách sử dụng chức năng đảo ngược (dãy) tích hợp sẵn , chúng ta có thể chuyển đổi số đầu vào thành một chuỗi và tìm đảo ngược của chuỗi bằng phương pháp đảo ngược. Sau đó, chúng ta có thể so sánh hai trình tự này để kiểm tra tính đối xứng.

    Chuỗi palindrome trong python là gì?

    Một chuỗi được gọi là palindrome nếu mặt trái của chuỗi giống với chuỗi .