Trong thư viện chuỗi python, không có chức năng "đảo ngược" trong bản dựng để đảo ngược chuỗi, nhưng có nhiều cách khác nhau để đảo ngược chuỗi.
Trong bài viết này, bạn sẽ học 5 cách khác nhau để đảo ngược chuỗi trong Python
1] Sử dụng vòng lặp
Thí dụ
# Program to explain reverse string or sentence
# Using for loop
# Reverse String without using reverse function
# Define a function
def reverse_for[string]:
# Declare a string variable
rstring = ''
# Iterate string with for loop
for x in string:
# Appending chars in reverse order
rstring = x + rstring
return rstring
string = 'Stechies'
# Print Original and Reverse string
print['Original String: ', string]
print['Reverse String: ', reverse_for[string]]
đầu ra
Original String: Stechies
Reverse String: seihcetS
Giải trình
Trong ví dụ trên, chúng ta sử dụng vòng lặp for để lặp qua từng ký tự của chuỗi và nối thêm từng ký tự ở đầu, để lấy chuỗi cuối cùng dưới dạng chuỗi đảo ngược
Chương trình trên sẽ bắt đầu thực thi từ câu lệnh string = ‘stechies’. Vì vậy, lúc đầu, chuỗi của chúng ta sẽ được khởi tạo với giá trị 'stechies'. Dòng tiếp theo in ra giá trị ban đầu của chuỗi. Dòng cuối cùng của mã. Hiển thị giá trị của chuỗi bị đảo ngược bằng cách gọi hàm 'reverse_for' và chuyển biến chuỗi làm đối số. Khi hàm được gọi, định nghĩa hàm sẽ được thực thi
Trong định nghĩa hàm, chúng tôi đã khai báo một biến mới 'rstring' lưu trữ chuỗi đảo ngược. Trong dòng tiếp theo, chúng tôi đã sử dụng vòng lặp for lặp qua biến 'chuỗi'
Khi điều khiển đi đến vòng lặp for, giá trị của 'i' được gán cho 's'. Bên trong vòng lặp for, chúng ta nối giá trị của 'i' với biến 'string'. Sau khi nối, điều khiển quay trở lại vòng lặp for và giá trị của 'i' sau đó trở thành 't'. và sau đó 't' được nối với biến được lưu trữ trong 'chuỗi'. Bây giờ giá trị của 'rstring' là 'ts'. Tương tự như vậy, các giá trị khác được nối với chuỗi. Vì vậy, chúng tôi nhận được chuỗi đảo ngược 'seihcets'
2] Sử dụng vòng lặp while
Thí dụ
# Program to explain reverse string
# Using while loop
# Define a function
def reverse_while[string]:
# Declare a string variable
rstring = ''
# We will calculate string length
# And subtract 1 because string index start with 0
length = len[string] - 1
# We will run the loop with last string index
while length >= 0:
print['String Index: ',string[length],' - ', length]
#Appending chars in reverse order
rstring = rstring + string[length]
# Decrements string index by 1
length = length - 1
return rstring
string = 'Stechies'
# Print Original and Reverse string
print['Original String: ', string]
print['Reverse String: ', reverse_while[string]]
đầu ra
Original String: Stechies
String Index: s - 7
String Index: e - 6
String Index: i - 5
String Index: h - 4
String Index: c - 3
String Index: e - 2
String Index: t - 1
String Index: S - 0
Reverse String: seihcetS
Giải trình
Trong ví dụ trên, trước tiên chúng ta trừ độ dài của chuỗi đi một vì chỉ số chuỗi bắt đầu từ 0.
Mã lặp qua mọi phần tử của chuỗi theo thứ tự ngược lại bằng cách sử dụng vòng lặp while và nối ký tự trong chuỗi cuối cùng theo thứ tự ngược lại. Ở dòng đầu tiên, từ khóa def dùng để xác định một hàm có tên là reverse_while[string] nhận một chuỗi tham số
Bên trong nó, một biến chuỗi được gán một chuỗi rỗng. Một biến có tên là độ dài được gán độ dài của tham số chuỗi trừ đi 1. Điều này được thực hiện bằng cách sử dụng phương thức len[]
Một vòng lặp while được thực hiện để kiểm tra xem biến độ dài có giá trị lớn hơn 0 hay không. Trong khi điều kiện này là True, dòng này được thực hiện
print['String Index: ',string[length],' - ', length]
Cái này hiển thị các ký tự của chuỗi cùng với các giá trị chỉ mục của chúng, bắt đầu từ chỉ mục cuối cùng. Dòng tiếp theo nối các ký tự theo thứ tự ngược lại vào biến chuỗi. Sau đó, chiều dài dòng = chiều dài – 1 giảm chỉ số của chuỗi xuống 1. Giá trị cuối cùng của biến chuỗi được in ra màn hình.
Biến chuỗi được gán giá trị “Stechies”.
Giá trị này được in ra ở dòng tiếp theo bằng phương thức print[]. Sau đó, một phương thức print[] khác được sử dụng để in giá trị bị đảo ngược của chuỗi này bằng cách gọi phương thức reverse_while[string] trong câu lệnh print
3] Sử dụng Cắt lát
Thí dụ
# Program to explain reverse string
# Using Slicing
# Define a function
def reverse_slice[string]:
return string[::-1]
string = 'Stechies'
# Print Original and Reverse string
print['Original String: ', string]
print['Reverse String: ', reverse_slice[string]]
đầu ra
Original String: Stechies
Reverse String: seihcetS
Giải trình
Trong ví dụ này, chúng tôi đang sử dụng phép cắt để cắt chuỗi từ đầu đến cuối và di chuyển ngược trở lại đầu chuỗi
Slice cung cấp các bước như [bắt đầu, dừng, bước]. Như bạn có thể thấy trong ví dụ trên, chúng tôi không cung cấp bất kỳ tệp nào để bắt đầu và dừng, do đó, nó sẽ lấy giá trị mặc định là 0 cho bắt đầu và dừng và [-1] cho bước tương ứng biểu thị bắt đầu từ cuối và dừng tại
Trong chương trình trên, chúng tôi đã tạo một hàm 'reverse_slice' lấy 'string' làm tham số. Và sử dụng toán tử cắt để in mặt trái của chuỗi. Đây chuỗi [. -1] có nghĩa là, việc cắt bắt đầu từ cuối chuỗi. vì chúng tôi không chỉ định 'bắt đầu' và kết thúc ở vị trí 0. -1 chỉ định bước, trong trường hợp này, '-1' có nghĩa là lùi một bước
Cuối cùng, câu lệnh in gọi hàm và hiển thị chuỗi đảo ngược.
4] Sử dụng các phương thức nối [] và đảo ngược []
Thí dụ
# Program to explain reverse string
# Using for reversed[] function
# Define a function
def reverse_rev[string]:
# Join reverse object of original string
rstring = ''.join[reversed[string]]
return rstring
string = 'Stechies'
# Print Original and Reverse string
print['Original String: ', string]
print['Reverse String: ', reverse_rev[string]]
đầu ra
Original String: Stechies
Reverse String: seihcetS
Giải trình
Trong ví dụ trên, bạn có thể thấy rằng chúng ta truyền chuỗi bằng cách sử dụng phương thức Reverse[] để lặp lại mọi phần tử của chuỗi theo thứ tự ngược lại và bằng cách sử dụng hàm join[], chúng ta nối phần tử của chuỗi
Ở đây, một phương thức reverse_rev[string] được định nghĩa bằng từ khóa def. Giá trị của đối số chuỗi được truyền cho phương thức Reverse[]. Các ký tự đảo ngược của chuỗi được nối bằng phương thức nối [] trong đó ‘’ là chuỗi và đảo ngược [chuỗi] có thể lặp lại. Giá trị đảo ngược của chuỗi được gán cho biến rstring. Hàm sau đó trả về biến này
Dòng tiếp theo in ra giá trị ban đầu của chuỗi, i. e. kỹ thuật. Chuỗi bị đảo ngược được in ở dòng tiếp theo bằng cách gọi phương thức reverse_rev[string]
5] Sử dụng Danh sách đảo ngược[]
Thí dụ
# Program to explain reverse string
# Using for reverse[] function
# Define a function
def reverse_list[string]:
# Convert string to list
rstring = list[string]
# Print List
print[rstring]
# Reverse List with reverse[] function
rstring.reverse[]
# Print reverse list
print[rstring]
# Convert list to string with join[] function
return ''.join[rstring]
string = 'Stechies'
# Print Original and Reverse string
print['Original String: ', string]
print['Reverse String: ', reverse_list[string]]
đầu ra
Original String: Stechies
Reverse String: seihcetS
0Giải trình
Trong ví dụ trên, chúng ta đang chuyển đổi một chuỗi thành một danh sách và đảo ngược danh sách bằng hàm reverse[] sau đó chuyển đổi danh sách thành chuỗi bằng phương thức join[]
Ở đây, một phương thức reverse_list[string] được định nghĩa nhận vào một tham số duy nhất được gọi là string. Tham số sau đó được chuyển thành danh sách bằng phương thức list[]. Giá trị sau đó được gán cho một biến gọi là rstring. Biến này được in ra màn hình
Sau đó, nội dung của biến rstring được đảo ngược bằng mã rstring. đảo ngược[]. Phương thức print[] in giá trị chuỗi ở dòng tiếp theo.
Danh sách đảo ngược này sau đó được nối bằng phương thức join[] và giá trị cuối cùng được trả về bởi phương thức. Ở dòng tiếp theo, một chuỗi biến được khởi tạo với chuỗi “Stechies”.
Giá trị này được in ra trong dòng tiếp theo. Dòng cuối cùng hiển thị giá trị của chuỗi đảo ngược. Câu lệnh print[] này in kết quả của việc gọi phương thức reverse_list[string]. Ở đây, giá trị chuỗi “Stechies” được chuyển thành đối số
Sự kết luận
Xác định đúng chức năng trước khi sử dụng chúng. Tốt hơn là sử dụng các tên khác nhau cho các đối số và tham số để tránh nhầm lẫn.