Đảo ngược danh sách chuỗi trong python

Phương pháp hiệu quả nhất để tham gia danh sách các chuỗi Python theo thứ tự ngược lại là sử dụng mã Python ''.join[l[::-1]]. Đầu tiên, đảo ngược danh sách l bằng cách cắt với kích thước bước âm l[::-1]. Thứ hai, dán các chuỗi trong danh sách lại với nhau bằng phương thức join[...] trên chuỗi trống ''

Cách Pythonic nhất để tham gia một danh sách theo thứ tự đảo ngược


Xem video này trên YouTube

Vấn đề. Đưa ra một danh sách các chuỗi. Làm thế nào để tham gia các chuỗi theo thứ tự ngược lại?

Thí dụ. Bạn muốn tham gia danh sách sau đây

l = ['n', 'o', 'h', 't', 'y', 'p']

để có được chuỗi đã tham gia theo thứ tự ngược lại

python

Hãy có một cái nhìn tổng quan ngắn gọn về cách thực hiện điều này

Tổng quan về giải pháp. Bạn có thể thử ba phương pháp trong trình bao Python tương tác của chúng tôi

Tiếp theo, chúng ta sẽ đi sâu vào từng phương pháp riêng biệt

Phương pháp 1. Tham gia + Cắt lát

Phương pháp Pythonic đầu tiên và hầu hết để đảo ngược và nối danh sách các chuỗi là sử dụng phép cắt với kích thước bước âm

Bạn có thể cắt bất kỳ danh sách nào trong Python bằng cách sử dụng ký hiệu

python
0 để tạo danh sách con bắt đầu bằng chỉ mục
python
1, kết thúc ngay trước chỉ mục
python
2 và sử dụng kích thước
python
3 đã cho—cũng có thể là âm để cắt từ phải sang trái. Nếu bạn cần xem lại cách cắt lát, hãy xem hướng dẫn chi tiết trên blog Finxter của chúng tôi hoặc cuốn sách trọng tâm của chúng tôi “Coffee Break Python Slicing”

Đây là phương pháp đầu tiên để đảo ngược danh sách các chuỗi và nối các phần tử lại với nhau

l = ['n', 'o', 'h', 't', 'y', 'p']


# Method 1
print[''.join[l[::-1]]]
# python

Phương thức

python
4 nối các phần tử chuỗi trong
python
5 thành một chuỗi mới bằng cách sử dụng ____1_______6 trên đó nó được gọi là dấu phân cách

Bạn có thể gọi phương thức này trên từng đối tượng danh sách trong Python. Đây là cú pháp

________1_______4

Đối sốMô tả_______1_______5Các phần tử được nối

Những bài viết liên quan

  • Danh sách tham gia Python [Hướng dẫn cơ bản]
  • Python Slicing [Hướng dẫn cơ bản]
  • Cách đảo ngược danh sách Python
  • Hướng dẫn cơ bản về danh sách Python

Phương pháp 2. Tham gia + đảo ngược[]

Phương pháp thứ hai cũng khá Pythonic. sử dụng hàm tích hợp

python
9 thay vì cắt với kích thước bước âm. Tôi muốn nói rằng những người mới bắt đầu thường thích phương pháp này hơn vì nó dễ đọc hơn đối với họ—trong khi các lập trình viên chuyên nghiệp thích cắt lát vì nó ngắn gọn hơn và hiệu quả hơn một chút

l = ['n', 'o', 'h', 't', 'y', 'p']
print[''.join[reversed[l]]]
# python

Phương thức nối kết dính tất cả các chuỗi trong danh sách—theo thứ tự đảo ngược

Phương pháp 3. vòng lặp đơn giản

Phương pháp thứ ba là phương pháp ít Pythonic nhất. sử dụng một vòng lặp khi nó không thực sự cần thiết. Dù sao đi nữa, đặc biệt là các lập trình viên đến từ các ngôn ngữ lập trình khác như Java hoặc C ++ sẽ thường sử dụng phương pháp này

l = ['n', 'o', 'h', 't', 'y', 'p']

s = ''
for x in reversed[l]:
    s += x
print[s]
# python

Tuy nhiên, có một số nhược điểm. Bạn có thể nhìn thấy chúng?

  • Mã ít ngắn gọn hơn
  • Mã kém hiệu quả hơn do nối chuỗi lặp lại. Mỗi lần thực hiện vòng lặp sẽ tạo ra một chuỗi mới, rất kém hiệu quả
  • Mã này yêu cầu định nghĩa của hai biến mới
    l = ['n', 'o', 'h', 't', 'y', 'p']
    
    
    # Method 1
    print[''.join[l[::-1]]]
    # python
    0 và
    l = ['n', 'o', 'h', 't', 'y', 'p']
    
    
    # Method 1
    print[''.join[l[::-1]]]
    # python
    1 và đưa ra mức độ phức tạp cao hơn

Bạn có thể thấy điều này trong trình hiển thị bộ nhớ tương tác của chúng tôi

Bài tập. nhấp vào “Tiếp theo” để xem các đối tượng bộ nhớ được sử dụng trong đoạn mã này

Những bài viết liên quan

  • Điều chỉnh hiệu suất trong Python
  • Nối danh sách
  • Các hàm chuỗi tích hợp trong Python

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Reverse[] có hoạt động trên chuỗi Python không?

Hàm tích hợp Reverse[] . Tuy nhiên, mục đích chính và trường hợp sử dụng của Reverse[] là hỗ trợ phép lặp ngược trên Python iterables . Với một chuỗi làm đối số, Reverse[] trả về một trình vòng lặp mang lại các ký tự từ chuỗi đầu vào theo thứ tự ngược lại.

Phương thức list Reverse[] có trả về một giá trị không?

Trả về. Phương thức reverse[] không trả về bất kỳ giá trị nào nhưng đảo ngược đối tượng đã cho từ danh sách.

Chủ Đề