Làm thế nào để bạn nối trong python?
Cách tốt nhất để nối một chuỗi vào một biến chuỗi là sử dụng 3 hoặc 4. Điều này là do nó có thể đọc được và nhanh chóng. Chúng cũng nhanh như vậy, bạn chọn cái nào là vấn đề sở thích, cái sau là phổ biến nhất. Dưới đây là thời gian với mô-đun 5 Show
Tuy nhiên, những người khuyên bạn nên có các danh sách và nối thêm vào chúng rồi nối các danh sách đó, hãy làm như vậy vì việc nối thêm một chuỗi vào danh sách có lẽ là rất nhanh so với việc mở rộng một chuỗi. Và điều này có thể đúng, trong một số trường hợp. Ví dụ, đây là một triệu phần bổ sung của chuỗi một ký tự, đầu tiên là chuỗi, sau đó là danh sách
OK, hóa ra là ngay cả khi chuỗi kết quả dài một triệu ký tự, việc nối thêm vẫn nhanh hơn Bây giờ, hãy thử nối thêm chuỗi dài một nghìn ký tự một trăm nghìn lần
Do đó, chuỗi kết thúc dài khoảng 100 MB. Điều đó khá chậm, việc thêm vào danh sách nhanh hơn nhiều. Rằng thời gian đó không bao gồm 6 cuối cùng. Vậy sẽ mất bao lâu?
Oup. Hóa ra ngay cả trong trường hợp này, append/join chậm hơn Vậy khuyến nghị này đến từ đâu?
Chà, nối/nối sẽ nhanh hơn một chút ở đó nếu bạn đang sử dụng các chuỗi cực dài (mà bạn thường không sử dụng, bạn sẽ có chuỗi nào có bộ nhớ 100 MB?) Nhưng móc sắt thực sự là Python 2. 3. Nơi tôi thậm chí sẽ không cho bạn xem thời gian, bởi vì nó quá chậm nên nó vẫn chưa kết thúc. Những bài kiểm tra này đột nhiên mất vài phút. Ngoại trừ việc chắp thêm/nối, cũng nhanh như trong các Pythons sau này Chuẩn rồi. Nối chuỗi rất chậm trong Python ở thời kỳ đồ đá. Nhưng vào ngày 2. 4 thì không còn nữa (hoặc ít nhất là Python 2. 4. 7), vì vậy khuyến nghị sử dụng append/join đã lỗi thời vào năm 2008, khi Python 2. 3 đã ngừng cập nhật và lẽ ra bạn nên ngừng sử dụng nó. . -) (Cập nhật. Hóa ra khi tôi kiểm tra cẩn thận hơn thì sử dụng 3 và 4 nhanh hơn cho hai chuỗi trên Python 2. 3 cũng vậy. Khuyến nghị sử dụng 1 phải là một sự hiểu lầm)Tuy nhiên, đây là CPython. Các triển khai khác có thể có các mối quan tâm khác. Và đây chỉ là một lý do khác tại sao tối ưu hóa sớm là gốc rễ của mọi điều ác. Không sử dụng một kỹ thuật được cho là "nhanh hơn" trừ khi bạn đo nó trước Do đó, phiên bản "tốt nhất" để thực hiện nối chuỗi là sử dụng + hoặc +=. Và nếu điều đó trở nên chậm đối với bạn, điều này khá khó xảy ra, thì hãy làm việc khác Vậy tại sao tôi lại sử dụng nhiều từ nối thêm/tham gia vào mã của mình? . Đặc biệt là khi bất cứ điều gì bạn nên nối với nhau nên được phân tách bằng dấu cách hoặc dấu phẩy hoặc dòng mới 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ữ 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ụ 0Đ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 23 được sử dụng trong danh sách. khi bạn gọi 23 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 23 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 >>> 2Đâ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ó tham số dấu phân cách 00>>> 0Đ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 phải 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à lệnh 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, 04 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à 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 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 đầu vào dấu phân cách 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ừ 07 đến thậm chí 08Hạn chế chia tách với Maxsplit 9 có một tham số tùy chọn khác gọi là 10. 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 10, thì chỉ một số lần phân tách nhất định 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 10 đang hoạt động>>> 1Như bạn thấy ở trên, nếu bạn đặt 10 thành 15, 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ố 10?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 không đặt 10Tậ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 1Đầu ra của bạn phải là một danh sách các danh sách 2Mỗ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 4Chú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. 12Phần tử đầu tiên là 13, đâ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 của chúng tôi. 15. Ở đâ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 16 làm gì? . Trong một chuỗi nhiều dòng như 17 của chúng tôi, có một 16 ẩn ở cuối mỗi dòngPhần cuối cùng có thể là mới. 19. 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à 19 trông giống như một ký hiệu chỉ mục danh sách, và nó là—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 15 và mọi thứ sau nó, loại bỏ phần tử tại chỉ mục 22Nó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 24 làm ký tự phân tách, nhưng lần này chúng tôi đang sử dụng 10 để 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 26 đượ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. ” Kết nối với toán tử a += b: 0.165287017822 a.append(b): 0.0132720470428 a.join(a): 0.114929914474 27Có 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 ( 27) để cộng nhiều chuỗi lại với nhau. Chỉ cần đặt một 27 giữa bao nhiêu chuỗi mà bạn muốn nối với nhau>>> 5Để 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ó >>> 6Hã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 đó, 40 sẽ xuất ra 41Mộ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 42>>> 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 a += b: 0.165287017822 a.append(b): 0.0132720470428 a.join(a): 0.114929914474 43Có 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 44Trườ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, 43 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, bạn sẽ gọi 43 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à 43, 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 lặp lại với nhau>>> 2Ở đây, chúng tôi nối từng phần tử của danh sách 50 bằng dấu phẩy ( 24) và gọi 43 trên đó thay vì danh sách 50Tậ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 43 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 nối, 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 15, 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 43 không phải một lần mà 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 16 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 Gửi cho tôi thủ thuật Python » Giớ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 Pythonista chuyên gia Nâng cao kỹ năng Python của bạn » Bậc thầy 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 Làm cách nào để sử dụng phép nối trong Python?Việc nối chuỗi Python có thể được thực hiện bằng nhiều cách khác nhau. . Sử dụng toán tử + Sử dụng phương thức nối () Sử dụng toán tử % Sử dụng hàm format() Sử dụng chuỗi f (Nội suy chuỗi ký tự) Có chức năng nối trong Python không?Nối có nghĩa là lấy một chuỗi mới chứa cả hai chuỗi ban đầu. Trong Python, có một số cách để nối hoặc kết hợp các chuỗi. Chuỗi mới được tạo được gọi là đối tượng chuỗi. Để hợp nhất hai chuỗi thành một đối tượng, bạn có thể sử dụng toán tử +
concat trong Python với ví dụ là gì?Nối chuỗi có nghĩa là thêm các chuỗi lại với nhau .
Biểu tượng nối trong Python là gì?Toán tử + cho phép bạn kết hợp hai hoặc nhiều chuỗi trong Python. Toán tử này được gọi là toán tử nối chuỗi Python. Toán tử + sẽ xuất hiện giữa hai chuỗi bạn muốn hợp nhất. Mã này nối hoặc hợp nhất các chuỗi Python “Xin chào” và “Thế giới”. |