Cách hiệu quả nhất để nối nhiều chuỗi lại với nhau python là gì?
Có rất ít sự đảm bảo trong cuộc sống. cái chết, thuế và các lập trình viên cần xử lý các chuỗi. Chuỗi có thể có nhiều dạng. Chúng có thể là văn bản phi cấu trúc, tên người dùng, mô tả sản phẩm, tên cột cơ sở dữ liệu hoặc bất kỳ thứ gì khác mà chúng tôi mô tả bằng ngôn ngữ Show
Với sự phổ biến gần như phổ biến của dữ liệu chuỗi, điều quan trọng là phải thành thạo các công cụ giao dịch khi nói đến chuỗi. May mắn thay, Python làm cho thao tác chuỗi trở nên rất đơn giản, đặc biệt khi so sánh với các ngôn ngữ khác và thậm chí các phiên bản Python cũ hơn Trong bài viết này, bạn sẽ tìm hiểu một số thao tác chuỗi cơ bản nhất. tách, nối và nối. Bạn sẽ không chỉ học cách sử dụng những công cụ này mà còn hiểu sâu hơn về cách thức hoạt động của chúng. Lấy bài kiểm tra. Kiểm tra kiến thức của bạn với bài kiểm tra tương tác “Tách, nối và nối các chuỗi trong Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian Lấy bài kiểm tra " Tiền thưởng miễn phí. Nhấp vào đây để nhận Bảng cheat Python và tìm hiểu kiến thức cơ bản về Python 3, như làm việc với các kiểu dữ liệu, từ điển, danh sách và hàm Python tách chuỗiTrong Python, các chuỗi được biểu diễn dưới dạng các đối tượng, không thay đổi. điều này có nghĩa là đối tượng được biểu diễn trong bộ nhớ không thể bị thay đổi trực tiếp. Hai dữ kiện này có thể giúp bạn học (và sau đó ghi nhớ) cách sử dụng 9Bạn có đoán được hai tính năng đó của chuỗi liên quan đến chức năng phân tách trong Python như thế nào không? . Trong một số ngôn ngữ khác (như Perl), chuỗi gốc đóng vai trò là đầu vào cho hàm 9 độc lập thay vì một phương thức được gọi trên chính chuỗi đóGhi chú. Các cách gọi phương thức chuỗi Các phương thức chuỗi như 9 chủ yếu được hiển thị ở đây dưới dạng các phương thức mẫu được gọi trên các chuỗi. Chúng cũng có thể được gọi là các phương thức tĩnh, nhưng điều này không lý tưởng vì nó “dài dòng” hơn. ” Để hoàn thiện, đây là một ví dụ
Điều này cồng kềnh và khó sử dụng khi bạn so sánh nó với cách sử dụng ưa thích
Để biết thêm về ví dụ, lớp và các phương thức tĩnh trong Python, hãy xem hướng dẫn chuyên sâu của chúng tôi Điều gì về tính bất biến của chuỗi? Ghi chú. Hoạt động tại chỗ Các hoạt động tại chỗ là các hoạt động thay đổi trực tiếp đối tượng mà chúng được gọi. Một ví dụ phổ biến là phương pháp 3 được sử dụng trong danh sách. khi bạn gọi 3 trong một danh sách, danh sách đó sẽ được thay đổi trực tiếp bằng cách thêm đầu vào vào 3 vào cùng một danh sáchLoại bỏ các quảng cáoTách không có tham sốTrước khi đi sâu hơn, hãy xem một ví dụ đơn giản >>>
Đây thực sự là trường hợp đặc biệt của cuộc gọi 9, mà tôi đã chọn vì tính đơn giản của nó. Không có bất kỳ dấu phân cách nào được chỉ định, 9 sẽ tính bất kỳ khoảng trắng nào là dấu phân cáchMột tính năng khác của cuộc gọi trần tới 9 là nó tự động cắt bỏ khoảng trắng ở đầu và cuối, cũng như khoảng trắng liên tiếp. So sánh việc gọi 9 trên chuỗi sau mà không có tham số dấu phân cách và có 0 làm tham số dấu phân cách>>>
Điều đầu tiên cần chú ý là điều này thể hiện tính bất biến của các chuỗi trong Python. các cuộc gọi tiếp theo tới 9 hoạt động trên chuỗi ban đầu, không nằm trong danh sách kết quả của cuộc gọi đầu tiên tới 9Điều thứ hai—và điều chính—bạn sẽ thấy là cuộc gọi 9 trần trích xuất các từ trong câu và loại bỏ bất kỳ khoảng trắng nàoChỉ định Dấu phân cáchMặt khác, 4, theo nghĩa đen hơn nhiều. Khi có dấu phân cách ở đầu hoặc ở cuối, bạn sẽ nhận được một chuỗi trống, bạn có thể thấy chuỗi này trong phần tử đầu tiên và phần tử cuối cùng của danh sách kết quảKhi có nhiều dấu phân cách liên tiếp (chẳng hạn như giữa “this” và “is” và giữa “is” và “my”), dấu phân cách đầu tiên sẽ được sử dụng làm dấu phân cách và các dấu phân cách tiếp theo sẽ tìm đường vào danh sách kết quả của bạn Ghi chú. Dấu phân cách trong các cuộc gọi tới 9Mặc dù ví dụ trên sử dụng một ký tự khoảng trắng làm dấu phân cách đầu vào cho 9, nhưng bạn không bị giới hạn về loại ký tự hoặc độ dài của chuỗi mà bạn sử dụng làm dấu phân cách. Yêu cầu duy nhất là dấu phân cách của bạn phải là một chuỗi. Bạn có thể sử dụng bất cứ thứ gì từ 7 đến thậm chí 8Hạn chế chia tách với Maxsplit 9 có một tham số tùy chọn khác gọi là 0. Theo mặc định, 9 sẽ thực hiện tất cả các phân tách có thể có khi được gọi. Tuy nhiên, khi bạn đưa ra một giá trị cho 0, thì chỉ có số lần tách đã cho sẽ được thực hiện. Sử dụng chuỗi ví dụ trước của chúng tôi, chúng tôi có thể thấy 0 đang hoạt động>>>
Như bạn thấy ở trên, nếu bạn đặt 0 thành 5, vùng khoảng trắng đầu tiên được sử dụng làm dấu phân cách và phần còn lại sẽ bị bỏ qua. Hãy làm một số bài tập để kiểm tra mọi thứ chúng ta đã học được cho đến nayTập thể dục. "Tự mình thử. Maxsplit"Hiển thị/Ẩn Điều gì xảy ra khi bạn đưa ra một số âm làm tham số 0?Giải pháp. "Tự mình thử. Maxsplit"Hiển thị/Ẩn 9 sẽ phân tách chuỗi của bạn trên tất cả các dấu phân cách có sẵn, đây cũng là hành vi mặc định khi ____25_______0 không được đặtTập thể dục. "Kiểm tra mức độ hiểu mục"Hiển thị/Ẩn Gần đây, bạn đã nhận được một tệp có giá trị được phân tách bằng dấu phẩy (CSV) có định dạng rất tệ. Công việc của bạn là trích xuất từng hàng thành một danh sách, với mỗi phần tử của danh sách đó đại diện cho các cột của tệp đó. Điều gì làm cho nó bị định dạng xấu? Giả sử rằng tệp của bạn đã được tải vào bộ nhớ dưới dạng chuỗi nhiều dòng sau
Đầu ra của bạn phải là một danh sách các danh sách
Mỗi danh sách bên trong đại diện cho các hàng của CSV mà chúng tôi quan tâm, trong khi danh sách bên ngoài chứa tất cả cùng nhau Giải pháp. "Kiểm tra mức độ hiểu mục"Hiển thị/Ẩn Đây là giải pháp của tôi. Có một vài cách để tấn công này. Điều quan trọng là bạn đã sử dụng 9 với tất cả các tham số tùy chọn của nó và nhận được kết quả như mong đợi
Chúng tôi gọi 9 hai lần ở đây. Lần sử dụng đầu tiên có thể trông đáng sợ, nhưng đừng lo lắng. Chúng ta sẽ bước qua nó và bạn sẽ cảm thấy thoải mái với những cách diễn đạt như thế này. Hãy xem lại cuộc gọi 9 đầu tiên. 2Phần tử đầu tiên là 3, đây chỉ là biến trỏ đến chuỗi đầu vào của bạn. Sau đó, chúng tôi có cuộc gọi 9. 5. Ở đây, chúng tôi đang tách một ký tự đặc biệt được gọi là ký tự xuống dòng 6 làm gì? . Trong một chuỗi nhiều dòng như 7 của chúng tôi, có một 6 ẩn ở cuối mỗi dòngPhần cuối cùng có thể là mới. 9. Câu lệnh cho đến lúc này cung cấp cho chúng ta một danh sách mới trong bộ nhớ và 9 trông giống như một ký hiệu chỉ mục danh sách, và nó—loại. Ký hiệu chỉ mục mở rộng này cho chúng ta một lát danh sách. Trong trường hợp này, chúng tôi lấy phần tử tại chỉ mục 5 và mọi thứ sau nó, loại bỏ phần tử tại chỉ mục 2Nói chung, chúng tôi lặp qua một danh sách các chuỗi, trong đó mỗi phần tử đại diện cho mỗi dòng trong chuỗi đầu vào nhiều dòng ngoại trừ dòng đầu tiên Tại mỗi chuỗi, chúng tôi gọi lại 9 bằng cách sử dụng 4 làm ký tự phân tách, nhưng lần này chúng tôi đang sử dụng 0 để chỉ phân tách ở hai dấu phẩy đầu tiên, giữ nguyên địa chỉ. Sau đó, chúng tôi nối kết quả của cuộc gọi đó vào mảng 6 được đặt tên phù hợp và trả lại cho người gọiLoại bỏ các quảng cáoGhép nối và tham gia các chuỗiHoạt động chuỗi cơ bản khác ngược lại với việc tách chuỗi. nối chuỗi. Nếu bạn chưa thấy từ này, đừng lo lắng. Đó chỉ là một cách nói thú vị để nói “dán lại với nhau. ” Nối với toán tử [ ['Mike Smith', '15554218841', '123 Nice St, Roy, NM, USA'], ['Anita Hernandez', '15557789941', '425 Sunny St, New York, NY, USA'], ['Guido van Rossum', '315558730', 'Science Park 123, 1098 XG Amsterdam, NL'] ] 7Có một số cách để làm điều này, tùy thuộc vào những gì bạn đang cố gắng đạt được. Phương pháp đơn giản và phổ biến nhất là sử dụng ký hiệu dấu cộng ( 7) để cộng nhiều chuỗi lại với nhau. Chỉ cần đặt một 7 giữa bao nhiêu chuỗi mà bạn muốn nối với nhau>>>
Để phù hợp với chủ đề toán học, bạn cũng có thể nhân một chuỗi để lặp lại nó >>>
Hãy nhớ rằng, chuỗi là bất biến. Nếu bạn nối hoặc lặp lại một chuỗi được lưu trữ trong một biến, bạn sẽ phải gán chuỗi mới cho một biến khác để giữ nó >>> 0Nếu chúng ta không có các chuỗi bất biến, thì thay vào đó, 0 sẽ xuất ra 1Một lưu ý khác là Python không thực hiện chuyển đổi chuỗi ẩn. Nếu bạn cố nối một chuỗi với loại không phải chuỗi, Python sẽ tăng một số 2>>> 1Điều này là do bạn chỉ có thể nối các chuỗi với các chuỗi khác, đây có thể là hành vi mới đối với bạn nếu bạn đến từ một ngôn ngữ như JavaScript, ngôn ngữ này cố gắng thực hiện chuyển đổi kiểu ngầm định Chuyển từ danh sách sang chuỗi trong Python với input_string = """Name,Phone,Address Mike Smith,15554218841,123 Nice St, Roy, NM, USA Anita Hernandez,15557789941,425 Sunny St, New York, NY, USA Guido van Rossum,315558730,Science Park 123, 1098 XG Amsterdam, NL""" def string_split_ex(unsplit): results = [] # Bonus points for using splitlines() here instead, # which will be more readable for line in unsplit.split('\n')[1:]: results.append(line.split(',', maxsplit=2)) return results print(string_split_ex(input_string)) 3Có một cách khác, mạnh mẽ hơn, để nối các chuỗi lại với nhau. Bạn có thể chuyển từ danh sách sang chuỗi trong Python bằng phương thức 4Trường hợp sử dụng phổ biến ở đây là khi bạn có một danh sách có thể lặp lại—như danh sách—được tạo thành từ các chuỗi và bạn muốn kết hợp các chuỗi đó thành một chuỗi duy nhất. Giống như 9, 3 là một phương thức thể hiện chuỗi. Nếu tất cả các chuỗi của bạn đều ở dạng có thể lặp lại, thì bạn sẽ gọi 3 trên chuỗi nào?Đây là một câu hỏi mẹo. Hãy nhớ rằng khi bạn sử dụng 9, bạn gọi nó trên chuỗi hoặc ký tự bạn muốn tách. Hoạt động ngược lại là 3, vì vậy bạn gọi nó trên chuỗi hoặc ký tự bạn muốn sử dụng để nối các chuỗi có thể lặp lại với nhau>>> 2Ở đây, chúng ta nối từng phần tử của danh sách 0 bằng dấu phẩy ( 4) và gọi tên 3 trên đó thay vì danh sách 0Tập thể dục. "Cải thiện khả năng đọc khi tham gia"Hiển thị/Ẩn Bạn có thể làm cho văn bản đầu ra dễ đọc hơn bằng cách nào? Giải pháp. "Cải thiện khả năng đọc khi tham gia"Hiển thị/Ẩn Một điều bạn có thể làm là thêm khoảng cách >>> 3Bằng cách không làm gì khác ngoài việc thêm khoảng trắng vào chuỗi tham gia của mình, chúng tôi đã cải thiện đáng kể khả năng đọc kết quả đầu ra của mình. Đây là điều bạn phải luôn ghi nhớ khi nối các chuỗi để con người có thể đọc được 3 thông minh ở chỗ nó chèn “bộ nối” của bạn vào giữa các chuỗi trong vòng lặp mà bạn muốn tham gia, thay vì chỉ thêm bộ nối của bạn vào cuối mỗi chuỗi trong vòng lặp. Điều này có nghĩa là nếu bạn vượt qua một lần lặp có kích thước 5, bạn sẽ không thấy trình nối của mình>>> 4Tập thể dục. "Kiểm tra mức độ hiểu mục"Hiển thị/Ẩn Sử dụng hướng dẫn quét web của chúng tôi, bạn đã xây dựng một công cụ quét thời tiết tuyệt vời. Tuy nhiên, nó tải thông tin chuỗi trong danh sách các danh sách, mỗi danh sách chứa một hàng thông tin duy nhất mà bạn muốn ghi ra tệp CSV 5Đầu ra của bạn phải là một chuỗi trông như thế này 6Giải pháp. "Kiểm tra mức độ hiểu mục"Hiển thị/Ẩn Đối với giải pháp này, tôi đã sử dụng khả năng hiểu danh sách, đây là một tính năng mạnh mẽ của Python cho phép bạn nhanh chóng tạo danh sách. Nếu bạn muốn tìm hiểu thêm về chúng, hãy xem bài viết tuyệt vời này bao gồm tất cả các cách hiểu có sẵn trong Python Dưới đây là giải pháp của tôi, bắt đầu bằng một danh sách các danh sách và kết thúc bằng một chuỗi 7Ở đây chúng tôi sử dụng 3 không phải một lần, mà là hai lần. Đầu tiên, chúng tôi sử dụng nó trong phần hiểu danh sách, thực hiện công việc kết hợp tất cả các chuỗi trong mỗi danh sách bên trong thành một chuỗi duy nhất. Tiếp theo, chúng tôi nối từng chuỗi này với ký tự xuống dòng 6 mà chúng tôi đã thấy trước đó. Cuối cùng, chúng tôi chỉ cần in kết quả để chúng tôi có thể xác minh rằng nó đúng như chúng tôi mong đợiLoại bỏ các quảng cáoBuộc tất cả lại với nhauMặc dù điều này kết thúc phần tổng quan này về các thao tác chuỗi cơ bản nhất trong Python (tách, nối và nối), nhưng vẫn còn rất nhiều phương thức chuỗi có thể giúp trải nghiệm của bạn với thao tác chuỗi dễ dàng hơn nhiều Khi bạn đã thành thạo các thao tác chuỗi cơ bản này, bạn có thể muốn tìm hiểu thêm. May mắn thay, chúng tôi có một số hướng dẫn tuyệt vời để giúp bạn hoàn thành việc nắm vững các tính năng của Python cho phép thao tác chuỗi thông minh
Lấy bài kiểm tra. Kiểm tra kiến thức của bạn với bài kiểm tra tương tác “Tách, nối và nối các chuỗi trong Python” của chúng tôi. Sau khi hoàn thành, bạn sẽ nhận được điểm số để có thể theo dõi quá trình học tập của mình theo thời gian Lấy bài kiểm tra " Đánh dấu là đã hoàn thành Xem ngay Hướng dẫn này có một khóa học video liên quan do nhóm Real Python tạo. Xem nó cùng với hướng dẫn bằng văn bản để hiểu sâu hơn. Tách, nối và nối các chuỗi trong Python 🐍 Thủ thuật Python 💌 Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python
Có thể bạn quan tâmGiới thiệu về Kyle Stratis Kyle là một nhà phát triển tự học đang làm kỹ sư dữ liệu cấp cao tại Vizit Labs. Trong quá khứ, ông đã thành lập DanqEx (trước đây là Nasdanq. sàn giao dịch chứng khoán meme ban đầu) và Encryptid Gaming » Thông tin thêm về KyleMỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là Adriana Brad Đan Joanna Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Chuyên gia Kỹ năng Python trong thế giới thực Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia Nâng cao kỹ năng Python của bạn » Bạn nghĩ sao? Đánh giá bài viết này Tweet Chia sẻ Chia sẻ EmailBài học số 1 hoặc điều yêu thích mà bạn đã học được là gì? Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi Cách nhanh nhất để nối Python là gì?Phương thức extend() cũng là cách nhanh nhất và ngắn gọn nhất để nối các danh sách so với tất cả các phương thức khác.
Cách hiệu quả nhất để nối các chuỗi lại với nhau là gì?Nối nhiều chuỗi bằng cách sử dụng Tham gia
. Mất ít thời gian hơn để thực hiện
Bạn sẽ nối nhiều chuỗi lại với nhau bằng Python như thế nào?Sử dụng toán tử '+'
. Có thể nối nhiều hơn hai chuỗi bằng toán tử '+'. |