Đảo ngược một chuỗi mà không thay đổi vị trí trong Python

Chuỗi Python là tập hợp các ký tự Unicode. Python có nhiều hàm để thao tác chuỗi, nhưng thư viện chuỗi Python không hỗ trợ hàm "reverse[]" tích hợp. Nhưng có nhiều cách khác nhau để đảo ngược chuỗi. Chúng tôi đang xác định phương thức sau để đảo ngược Chuỗi Python

  • Sử dụng vòng lặp
  • Sử dụng vòng lặp while
  • Sử dụng toán tử lát cắt
  • Sử dụng hàm Reverse[]
  • Sử dụng đệ quy

Sử dụng vòng lặp

Ở đây, chúng ta sẽ đảo ngược chuỗi đã cho bằng vòng lặp for

đầu ra

['The original string is: ', 'JavaTpoint']
['The reverse string is', 'tniopTavaJ']

Giải trình-

Trong đoạn mã trên, chúng ta đã khai báo hàm reverse_string[] và truyền đối số str. Trong phần thân hàm, chúng ta đã khai báo biến chuỗi rỗng str1 sẽ giữ chuỗi bị đảo ngược

Tiếp theo, vòng lặp for lặp lại mọi phần tử của chuỗi đã cho, nối từng ký tự ở đầu và lưu vào biến str1

Sau khi lặp lại hoàn chỉnh, nó trả về chuỗi thứ tự đảo ngược str1 cho hàm gọi. Nó in kết quả ra màn hình

Sử dụng vòng lặp while

Chúng ta cũng có thể đảo ngược một chuỗi bằng vòng lặp while. Hãy hiểu ví dụ sau

Ví dụ -

đầu ra

['The original string  is : ', 'JavaTpoint']
['The reversed string using a while loop is : ', 'tniopTavaJ']

Giải trình

Trong đoạn mã trên, chúng ta đã khai báo một biến str chứa giá trị chuỗi. Chúng tôi đã khởi tạo một vòng lặp while với một giá trị của chuỗi

Trong mỗi lần lặp lại, giá trị của str[count - 1] được nối với Reverse_String và giảm giá trị đếm. Một lúc đã hoàn thành bước lặp của nó và trả về chuỗi thứ tự đảo ngược

Sử dụng toán tử lát cắt [[]]

Chúng ta cũng có thể đảo ngược chuỗi đã cho bằng cách sử dụng toán tử lát cắt mở rộng. Hãy hiểu ví dụ sau

Ví dụ -

đầu ra

['The original string  is : ', 'JavaTpoint']
['The reversed string[using extended slice syntax] is : ', 'tniopTavaJ']

Giải trình

Nói chung, toán tử lát cắt chấp nhận ba tham số - bắt đầu, dừng và bước. Chúng tôi đã cung cấp giá trị no cho chỉ mục bắt đầu và kết thúc, cho biết chỉ mục bắt đầu là 0 và kết thúc là n-1 theo mặc định. Kích thước bước là -1;

Sử dụng chức năng đảo ngược với tham gia

Python cung cấp hàm Reverse[] để đảo ngược chuỗi. Hãy hiểu ví dụ sau

Ví dụ -

đầu ra

['The original string is : ', 'JavaTpoint']
['The reversed string using reversed[] is : ', 'tniopTavaJ']

Giải trình

Trong phần thân hàm, chúng ta đã khai báo chuỗi rỗng cách nhau bởi. toán tử dấu chấm. Chuỗi đảo ngược [] trả về chuỗi đảo ngược mà nó đã nối với chuỗi trống được phân tách bằng hàm nối []

Sử dụng đệ quy[]

Chuỗi cũng có thể được đảo ngược bằng cách sử dụng đệ quy. Đệ quy là một quá trình mà hàm gọi chính nó. Xem xét ví dụ sau

Ví dụ -

đầu ra

['The original string is : ', 'JavaTpoint']
['The reversed string[using reversed] is : ', 'tniopTavaJ']

Giải trình

Trong đoạn mã trên, chúng ta đã định nghĩa một hàm chấp nhận chuỗi làm đối số

Trong thân hàm, chúng tôi đã xác định điều kiện cơ bản của đệ quy, nếu độ dài của chuỗi bằng 0, thì chuỗi được trả về và nếu không thì chúng tôi gọi hàm theo cách đệ quy

Toán tử lát cắt chuỗi mong đợi ký tự đầu tiên và được nối vào cuối chuỗi lát cắt

Hôm nay chúng ta sẽ giải quyết một vấn đề về chuỗi trong python. Tại đây bạn sẽ nhận được một chuỗi chứa số và một số ký tự đặc biệt. Chúng ta phải đảo ngược chuỗi này mà không thay đổi vị trí của các ký tự đặc biệt

*Đầu vào. * "123$456%789*0^"

*Đầu ra. * "098$765%432*1^"

Vì vậy, hãy bắt đầu mã hóa của chúng tôi

Dung dịch. 1

seq = "123$456%789*0^"
output = "098$765%432*1^"

chars = ['$', '%', '*', '#', '^']
nums = []

for i in range[len[seq]]:
    if seq[i] not in chars:
        nums.append[seq[i]]

nums.reverse[]

for j in seq:
    if j in chars:
        idx = seq.index[j]
        nums.insert[idx, j]

reverse = "".join[nums]

print[reverse]

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Dung dịch. 2

ip_str = "123$456%789*0^"

rev_str = reversed[ip_str]
op_str  = ""
for value in ip_str:
  if value.isdigit[]:
    for rev_val in rev_str:
      if rev_val.isdigit[]:
        op_str += rev_val
        break
  else:
    op_str += value
print[op_str]

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ở đây có hai loại chúng ta có thể giải quyết vấn đề này. Có thể có nhiều loại hơn nếu bạn tìm thấy bất cứ điều gì, hãy thảo luận trong phòng

Chủ Đề