Hướng dẫn how do you combine phrases in python? - làm thế nào để bạn kết hợp các cụm từ trong python?
Tôi đang cố gắng tham gia các câu riêng biệt vào một đối tượng văn bản để tôi có thể chạy nó qua trình tạo Gensim. Để nó hoạt động, cần phải có ít nhất 2 câu. Theo đầu ra của tôi, có vẻ như tôi có nhiều hơn hai câu nhưng nó nói rằng đầu vào của tôi ít hơn 2 câu. Show
Tôi đã thử rất nhiều phương thức chuỗi và có vẻ như trình tóm tắt Gensim không nhận được toàn bộ văn bản được nối mà thay vào đó, nó nhìn vào mỗi câu của chính nó. MÃ CỦA TÔI:
THÔNG BÁO LỖI: Phương thức tham gia (chuỗi) tham gia các phần tử và trả về chuỗi kết hợp. Các phương thức tham gia kết hợp mọi yếu tố của chuỗi.join(sequence) method joins elements and returns the combined string. The join methods combines every element of the sequence. Kết hợp danh sách các từ? Kết hợp chúng vào một câu với phương thức tham gia (trình tự). Phương pháp được gọi trên một chuỗi SEPERATOR, có thể là bất cứ thứ gì từ không gian đến dấu gạch ngang.join(sequence) method. The method is called on a seperator string, which can be anything from a space to a dash. Điều này dễ dàng hơn so với việc sử dụng toán tử cộng cho mỗi từ, điều này sẽ nhanh chóng trở nên tẻ nhạt với một danh sách dài các từ. Khóa học liên quan: Khóa học & Bài tập lập trình Python hoàn chỉnh Complete Python Programming Course & Exercises Phương thức tham gia lấy một chuỗi làm đối số. Trình tự được viết dưới dạng đối số duy nhất: bạn cần thêm dấu ngoặc xung quanh chuỗi. Nếu bạn thích, bạn có thể vượt qua một biến giữ chuỗi làm đối số. Điều này làm cho nó dễ đọc hơn. Chúng tôi sẽ sử dụng một không gian một chuỗi SEPERATOR trong ví dụ dưới đây. Hãy thử chương trình dưới đây: Bạn sẽ thấy đầu ra này: Nó cũng có thể tham gia một danh sách các từ:
Nếu bạn là người mới bắt đầu, thì tôi đánh giá cao cuốn sách này. Tập thể dụcHãy thử các bài tập dưới đây
Tải xuống ví dụ Có một vài đảm bảo trong cuộc sống: cái chết, thuế và lập trình viên cần phải đối phó với các chuỗi. Chuỗi có thể có nhiều hình thức. Chúng có thể là văn bản không 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 thực sự bất cứ điều gì khác mà chúng tôi mô tả bằng ngôn ngữ. Với sự gần như của dữ liệu chuỗi, điều quan trọng là phải thành thạo các công cụ của giao dịch khi nói đến chuỗi. May mắn thay, Python làm cho thao tác chuỗi rất đơn giản, đặc biệt là khi so sánh với các ngôn ngữ khác và thậm chí các phiên bản cũ của Python. Trong bài viết này, bạn sẽ tìm hiểu một số hoạt động chuỗi cơ bản nhất: chia tách, nối và tham gia. Bạn không chỉ học cách sử dụng các công cụ này, mà bạn sẽ bỏ đi với sự hiểu biết sâu sắc hơn về cách chúng hoạt động dưới mui xe. Not only will you learn how to use these tools, but you will walk away with a deeper understanding of how they work under the hood. Chuỗi phân táchTrong Python, các chuỗi được biểu diễn dưới dạng các đối tượng 11, điều này là bất biến: điều này có nghĩa là đối tượng được biểu thị trong bộ nhớ không thể được thay đổi trực tiếp. Hai sự thật này có thể giúp bạn học (và sau đó nhớ) cách sử dụng 12.immutable: this means that the object as represented in memory can not be directly altered. These two facts can help you learn (and then remember) how to use 12. Bạn đã đoán làm thế nào hai tính năng của chuỗi liên quan đến chức năng phân tách trong Python? Nếu bạn đoán rằng 12 là một phương thức thể hiện vì chuỗi là một loại đặc biệt, bạn sẽ đú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 12 độc lập chứ không phải là một phương thức được gọi trên chính chuỗi.instance method because strings are a special type, you would be correct! In some other languages (like Perl), the original string serves as an input to a standalone 12 function rather than a method called on the string itself. Điều gì về tính bất biến chuỗi? Điều này sẽ nhắc nhở bạn rằng các phương thức chuỗi không phải là hoạt động tại chỗ, nhưng chúng trả về một đối tượng mới trong bộ nhớ.in-place operations, but they return a new object in memory. Chia tách mà không có thông sốTrước khi đi sâu hơn, hãy để Lôi nhìn vào một ví dụ đơn giản: >>>
Đây thực sự là một trường hợp đặc biệt của một cuộc gọi 12 mà tôi đã chọn cho sự đơn giản của nó. Không có bất kỳ bộ phân cách nào được chỉ định, 12 sẽ đếm bất kỳ khoảng trắng nào làm dấu phân cách. Một tính năng khác của cuộc gọi trần đến 12 là nó tự động cắt bỏ khoảng trắng hàng đầu và dấu vết, cũng như khoảng trắng liên tiếp. So sánh cuộc gọi 12 trên chuỗi sau mà không có tham số phân tách và với 19 làm tham số phân tá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 đến 12 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 đến 12. Cái thứ hai và thứ chính mà bạn nên thấy là cuộc gọi trần 12 sẽ trích xuất các từ trong câu và loại bỏ bất kỳ khoảng trắng nào. Chỉ định phân tách3, mặt khác, theo nghĩa đen hơn nhiều. Khi có các dấu phân cách dẫn đầu hoặc theo dõi, bạn sẽ nhận được một chuỗi trống, mà bạn có thể thấy trong các yếu tố đầu tiên và cuối cùng của danh sách kết quả. Trường hợp có nhiều bộ phân cách liên tiếp (chẳng hạn như giữa các trò chơi này và và là một trong những người đầu tiên và giữa đó như dây trống. Hạn chế chia tách với MaxSplit12 có một tham số tùy chọn khác được gọi là 5. Theo mặc định, 12 sẽ thực hiện tất cả các chia tách có thể khi được gọi. Tuy nhiên, khi bạn đưa ra một giá trị cho 5, chỉ có số lượng chia tách đã cho. Sử dụng chuỗi ví dụ trước của chúng tôi, chúng ta có thể thấy 5 trong hành động: >>>
Như bạn thấy ở trên, nếu bạn đặt 5 thành 10, vù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 bị bỏ qua. Hãy cùng làm một số bài tập để kiểm tra mọi thứ chúng tôi đã học được cho đến nay. Điều gì xảy ra khi bạn đưa ra một số âm dưới dạng tham số 5? 12 sẽ phân chia 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 5 được đặt. Gần đây bạn đã được trao một tệp giá trị phân tách dấu phẩy (CSV) được định dạng khủng khiếp. Công việc của bạn là trích xuất từng hàng vào một danh sách, với mỗi yếu 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ó được định dạng xấu? Trường địa chỉ trên mạng bao gồm nhiều dấu phẩy nhưng cần được thể hiện trong danh sách dưới dạng một yếu tố duy nhất! Giả sử rằng tệp của bạn đã được tải vào bộ nhớ dưới dạng chuỗi đa dòng sau:
Đầu ra của bạn phải là một danh sách các danh sách: 0Mỗ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 giữ tất cả lại với nhau. Đâ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 12 với tất cả các tham số tùy chọn của nó và có đầu ra dự kiến: 1Chúng tôi gọi 12 hai lần ở đây. Cách sử dụng đầu tiên có thể trông đáng sợ, nhưng đừng lo lắng! Chúng tôi sẽ bước qua nó, và bạn sẽ cảm thấy thoải mái với những biểu cảm như thế này. Hãy cùng một cái nhìn khác về cuộc gọi 12 đầu tiên: 17. Phần tử đầu tiên là 18, đây chỉ là biến chỉ vào chuỗi đầu vào của bạn. Sau đó, chúng tôi có cuộc gọi 12 của chúng tôi: words = ["How","are","you","doing","?"]0. Ở đây, chúng tôi đang chia tách trên một nhân vật đặc biệt gọi là nhân vật Newline.newline character. words = ["How","are","you","doing","?"]1 làm gì? Như tên gọi, nó cho biết bất cứ điều gì đang đọc chuỗi mà mọi ký tự sau khi nó nên được hiển thị trên dòng tiếp theo. Trong một chuỗi đa dòng như words = ["How","are","you","doing","?"]2 của chúng tôi, có một words = ["How","are","you","doing","?"]1 ẩn ở cuối mỗi dòng. Phần cuối cùng có thể là mới: words = ["How","are","you","doing","?"]4. Tuyên bố cho đến nay cung cấp cho chúng tôi một danh sách mới trong bộ nhớ và words = ["How","are","you","doing","?"]4 trông giống như một ký hiệu chỉ mục danh sách, và nó là một trò chơi! Ký hiệu chỉ số mở rộng này cho chúng ta một lát cắt danh sách. Trong trường hợp này, chúng tôi lấy phần tử tại Index 10 và mọi thứ sau khi nó, loại bỏ phần tử tại Index words = ["How","are","you","doing","?"]7. Trong tất cả, chúng tôi lặp lại thông qua một danh sách các chuỗi, trong đó mỗi phần tử đại diện cho từng dòng trong chuỗi đầu vào đa dòng ngoại trừ dòng đầu tiên. Ở mỗi chuỗi, chúng tôi gọi 12 lại bằng cách sử dụng words = ["How","are","you","doing","?"]9 làm ký tự chia, nhưng lần này chúng tôi đang sử dụng 5 để chỉ chia trên hai dấu phẩy đầu tiên, để lại địa chỉ. Sau đó, chúng tôi nối kết quả của cuộc gọi đó đến mảng 1 được đặt tên một cách khéo léo và trả lại cho người gọi.Kết nối và nối các chuỗiHoạt động chuỗi cơ bản khác trái ngược với các chuỗi phân tách: nối chuỗi. Nếu bạn thiên đường nhìn thấy từ này, đừng lo lắng. Nó chỉ là một cách lạ mắt để nói về việc dán mắt nhau.concatenation. If you haven’t seen this word, don’t worry. It’s just a fancy way of saying “gluing together.” Kết hợp với toán tử >>> 'this is my string'.split() ['this', 'is', 'my', 'string'] 2Có một vài 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 nhất và phổ biến nhất là sử dụng ký hiệu cộng ( 2) để thêm nhiều chuỗi lại với nhau. Chỉ cần đặt một 2 giữa nhiều chuỗi như bạn muốn tham gia cùng nhau:>>> 2Như bạn thấy ở trên, nếu bạn đặt 5 thành 10, vù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 bị bỏ qua. Hãy cùng làm một số bài tập để kiểm tra mọi thứ chúng tôi đã học được cho đến nay. Điều gì xảy ra khi bạn đưa ra một số âm dưới dạng tham số 5? >>> 3Như bạn thấy ở trên, nếu bạn đặt 5 thành 10, vù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 bị bỏ qua. Hãy cùng làm một số bài tập để kiểm tra mọi thứ chúng tôi đã học được cho đến nay. Điều gì xảy ra khi bạn đưa ra một số âm dưới dạng tham số 5? >>> 4Đ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, 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, cố gắng thực hiện chuyển đổi loại ngầm. Đi từ danh sách đến một chuỗi trong Python với >>> 'this is my string'.split() ['this', 'is', 'my', 'string'] 8Có một cách khác, mạnh mẽ hơn, để tham gia các chuỗi với nhau. Bạn có thể đi từ danh sách đến một chuỗi trong Python với phương thức 9.Trường hợp sử dụng phổ biến ở đây là khi bạn có một trò chơi có thể điều chỉnh được như một danh sách mà các chuỗi đã tạo ra và bạn muốn kết hợp các chuỗi đó thành một chuỗi. Giống như 12, 8 là phương thức thể hiện chuỗi. Nếu tất cả các chuỗi của bạn đều ở trong một điều có thể, bạn gọi cái nào 8?Đây là một chút câu hỏi lừa. Hãy nhớ rằng khi bạn sử dụng 12, bạn gọi nó trên chuỗi hoặc ký tự bạn muốn chia tay. Hoạt động ngược lại là 8, vì vậy bạn gọi nó trên chuỗi hoặc ký tự bạn muốn sử dụng để kết hợp các chuỗi có thể lặp lại với nhau:>>> 5Tại đây, chúng tôi tham gia từng yếu tố của danh sách 5 với dấu phẩy (words = ["How","are","you","doing","?"]9) và gọi 8 trên nó thay vì danh sách 5.Làm thế nào bạn có thể làm cho văn bản đầu ra dễ đọc hơn? Một điều bạn có thể làm là thêm khoảng cách: >>> 6Bằng cách không làm gì khác hơn là thêm một không gian vào chuỗi tham gia của chúng tôi, chúng tôi đã cải thiện rất nhiều khả năng đọc đầu ra của chúng tôi. Đây là điều bạn nên luôn luôn ghi nhớ khi tham gia các chuỗi cho khả năng đọc của con người. 8 thông minh ở chỗ nó chèn người tham gia của bạn ở giữa các chuỗi trong điều kiện mà bạn muốn tham gia, thay vì chỉ thêm trình nối của bạn ở cuối mỗi chuỗi trong điều kiện. Điều này có nghĩa là nếu bạn vượt qua một kích thước 10, bạn đã thắng được khi thấy người tham gia của bạn: >>> 7Sử dụng hướng dẫn quét web của chúng tôi, bạn đã xây dựng một máy cạo thời tiết tuyệt vời. Tuy nhiên, nó tải thông tin chuỗi trong danh sách danh sách, mỗi danh sách chứa một hàng thông tin duy nhất bạn muốn viết vào tệp CSV: 8Đầu ra của bạn phải là một chuỗi duy nhất trông như thế này: 9Đối với giải pháp này, tôi đã sử dụng một danh sách hiểu, đây là một tính năng mạnh mẽ của Python cho phép bạn xây dựng danh sách nhanh chóng. 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 toàn diện có sẵn trong Python. Dưới đây là giải pháp của tôi, bắt đầu với một danh sách các danh sách và kết thúc bằng một chuỗi duy nhất: 10 Ở đây chúng tôi sử dụng 8 không chỉ một lần, mà là hai lần. Đầu tiên, chúng tôi sử dụng nó trong danh sách hiểu, 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. Tiếp theo, chúng tôi tham gia từng chuỗi này với ký tự mới words = ["How","are","you","doing","?"]1 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 đó là như chúng tôi mong đợi. Buộc tất cả lại với nhauMặc dù điều này kết thúc tổng quan này về các hoạt động chuỗi cơ bản nhất trong Python (chia tách, nối và nối), nhưng vẫn có toàn bộ vũ trụ của các phương thức chuỗi có thể giúp trải nghiệm của bạn với việc thao túng các chuỗi dễ dàng hơn nhiều. Khi bạn đã thành thạo các hoạt động 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 làm chủ các tính năng của Python, cho phép thao tác chuỗi thông minh:
|