Khi được yêu cầu hiển thị phép nối lát tăng dần trong danh sách chuỗi, phép lặp đơn giản và phép cắt danh sách được sử dụng
Dưới đây là một minh chứng tương tự -
Ví dụ
Bản thử trực tiếp
my_list = ['pyt', 'is', 'all', 'fun'] print["The list is :"] print[my_list] my_result = '' for index in range[len[my_list]]: my_result += my_list[index][:index + 1] print["The result is :"] print[my_result]
đầu ra
The list is : ['pyt', 'is', 'all', 'fun'] The result is : pisallfun
Giải trình
Một danh sách được xác định và hiển thị trên bàn điều khiển
Một chuỗi rỗng được tạo
Danh sách được lặp lại và phần tử được nối với phần tử liên tiếp
Kết quả này được gán cho một biến
Đây là đầu ra được hiển thị trên bàn điều khiển
Để tham gia và thay thế tất cả các chuỗi trong danh sách
The list is : ['pyt', 'is', 'all', 'fun'] The result is : pisallfun2 giữa chỉ mục bắt đầu 1 và chỉ mục kết thúc 5, hãy sử dụng một lớp lót
The list is : ['pyt', 'is', 'all', 'fun'] The result is : pisallfun3. Giải pháp này dựa trên phép gán lát cắt chọn lát cắt bạn muốn thay thế ở bên trái và các giá trị để thay thế nó ở phía bên phải của phép gán
Vấn đề. Đưa ra một danh sách các chuỗi. Làm cách nào để nối tất cả các chuỗi trong một lát danh sách nhất định và thay thế lát đó bằng chuỗi đã nối?
Ví dụ. Bạn bắt đầu với danh sách sau
lst = ['i', 'l', 'o', 'v', 'e', 'u']
Bạn muốn nối lát cắt
The list is : ['pyt', 'is', 'all', 'fun'] The result is : pisallfun4 với chỉ mục bắt đầu 1 và chỉ mục kết thúc 4 [bao gồm] và thay thế nó trong danh sách để nhận được kết quả
# Output: ['i', 'love', 'u']
Bạn có thể xem tổng quan nhanh về cả ba phương thức trong trình bao Python tương tác sau đây. Nếu bạn không có nhiều thời gian—phương pháp 1 sử dụng phép gán lát là giải pháp Pythonic nhất
Tập thể dục. Sửa đổi mã để chỉ các phần tử có chỉ mục bắt đầu 2 và chỉ mục kết thúc 4 [bao gồm] được thay thế bằng chuỗi đã tham gia
Phương pháp 1. Bài tập cắt lát
Gán lát là một tính năng đẹp, ít được sử dụng của Python để thay thế một lát bằng một chuỗi khác. Chọn lát bạn muốn thay thế ở bên trái và các giá trị để thay thế nó ở bên phải của phương trình
Đây là cách bạn có thể tham gia và thay thế tất cả các chuỗi trong một lát danh sách [giữa các chỉ số 1 và 5] trong một dòng mã Python
# Method 1: Slice Assignments lst = ['i', 'l', 'o', 'v', 'e', 'u'] lst[1:5] = [''.join[lst[1:5]]] print[lst] # ['i', 'love', 'u']
The list is : ['pyt', 'is', 'all', 'fun'] The result is : pisallfun3 một lớp thực hiện các bước sau
- Chọn lát cắt được thay thế ở phía bên trái của phương trình với
The list is : ['pyt', 'is', 'all', 'fun'] The result is : pisallfun
6. Đọc thêm về cắt lát trên blog hướng dẫn Finxter của tôi - Tạo một danh sách thay thế phần này ở phía bên tay phải của phương trình bằng
# Output: ['i', 'love', 'u']
0 - Chọn lát các phần tử chuỗi sẽ được nối với nhau [______31] với
The list is : ['pyt', 'is', 'all', 'fun'] The result is : pisallfun
6 - Chuyển lát cắt này vào hàm nối để tạo một chuỗi mới có cả bốn ký tự
# Output: ['i', 'love', 'u']
3 - Chuỗi này thay thế cả bốn vị trí đã chọn trong danh sách ban đầu
Nếu bạn yêu thích sức mạnh của Python one-liners, hãy xem cuốn sách mới của tôi có cùng tên “Python One-Liners” trên Amazon [xuất bản năm 2020 với nhà xuất bản NoStarch chất lượng cao của San Francisco]
Phương pháp 2. Nối danh sách + Cắt + Tham gia
Một phương pháp đơn giản hơn nhưng khá dễ đọc là sử dụng phép nối danh sách đơn giản. Đọc thêm về hướng dẫn trên blog Finxter của tôi để nắm vững tất cả các cách khác nhau để nối các danh sách trong Python
________số 8Cách tiếp cận này sử dụng ba cuộc gọi cắt để chọn [hoặc tạo] ba danh sách. Sau đó, nó dán chúng lại với nhau bằng toán tử
# Output: ['i', 'love', 'u']4. Cách tiếp cận này có một nhược điểm nhỏ là danh sách mới được tạo trong bộ nhớ [thay vì làm việc trên danh sách cũ]. Do đó, nó hơi kém thân thiện với bộ nhớ như phương pháp đầu tiên
Phương pháp 3. Ngây thơ
Phương pháp này là phương pháp mà một lập trình viên không phải Python [có thể đến từ Java hoặc C++] sẽ sử dụng. Đó KHÔNG phải là cách được đề xuất mặc dù
The list is : ['pyt', 'is', 'all', 'fun'] The result is : pisallfun0
Thay vì chọn lát cắt của các chuỗi để nối bằng cách cắt, lập trình viên tạo một biến chuỗi
# Output: ['i', 'love', 'u']5 và thêm một ký tự tại một thời điểm. Điều này rất kém hiệu quả vì có nhiều chuỗi khác nhau được tạo ra—mỗi lần thêm một ký tự vào chuỗi
Đ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