Hướng dẫn remove words from list of strings python - xóa các từ khỏi danh sách chuỗi python

Nhìn vào các câu trả lời khác cho câu hỏi của bạn, tôi nhận thấy rằng họ đã nói với bạn cách thực hiện những gì bạn đang cố gắng làm, nhưng họ không trả lời câu hỏi bạn đặt ra ở cuối.

Nếu truy vấn đầu vào là "Hello là gì", tôi sẽ nhận được đầu ra như:

>>> "My, ! Hello  friendly stery"
0

Lý do tại sao điều này xảy ra?

Điều này xảy ra bởi vì .replace [] thay thế cho bộ nền mà bạn cung cấp chính xác.

Ví dụ:

"My, my! Hello my friendly mystery".replace["my", ""]

gives:

>>> "My, ! Hello  friendly stery"

.replace [] về cơ bản là phân tách chuỗi bằng cách cung cấp dưới dạng tham số đầu tiên và nối lại với tham số thứ hai.

"hello".replace["he", "je"]

tương tự về mặt logic với:

"je".join["hello".split["he"]]

Nếu bạn vẫn muốn sử dụng .replace để loại bỏ toàn bộ từ, bạn có thể nghĩ rằng việc thêm một không gian trước và sau là đủ, nhưng điều này để lại các từ ở đầu và cuối chuỗi cũng như các phiên bản bị nhấn của chuỗi con.

"My, my! hello my friendly mystery".replace[" my ", " "]
>>> "My, my! hello friendly mystery"

"My, my! hello my friendly mystery".replace[" my", ""]
>>> "My,! hello friendlystery"

"My, my! hello my friendly mystery".replace["my ", ""]
>>> "My, my! hello friendly mystery"

Ngoài ra, việc thêm không gian trước và sau sẽ không bắt được các bản sao vì nó đã xử lý chuỗi phụ đầu tiên và sẽ bỏ qua nó để tiếp tục tiếp tục:

"hello my my friend".replace[" my ", " "]
>>> "hello my friend"

Vì những lý do này, câu trả lời được chấp nhận của bạn bởi Robby Cornelissen là cách được khuyến nghị để làm những gì bạn đang muốn.

Xóa danh sách các từ khỏi chuỗi trong Python #

Để xóa danh sách các từ khỏi chuỗi:

  1. Chia chuỗi trên mỗi ký tự khoảng trắng.
  2. Sử dụng danh sách hiểu để lọc ra danh sách các từ.
  3. Sử dụng phương thức
    >>> "My, ! Hello  friendly stery"
    
    1 để tham gia danh sách được lọc vào một chuỗi.

Copied!

words_to_remove = ['one', 'two', 'three'] my_str = 'apple one banana two kiwi three' list_of_words = my_str.split[] print[list_of_words] # 👉️ ['apple', 'one', 'banana', 'two', 'kiwi', 'three'] filtered_words = [word for word in list_of_words if word.lower[] not in words_to_remove] print[filtered_words] # 👉️ ['apple', 'banana', 'kiwi'] final_string = ' '.join[filtered_words] print[final_string] # 👉️ 'apple banana kiwi'

Bước đầu tiên là sử dụng phương thức

>>> "My, ! Hello  friendly stery"
2 để chia chuỗi thành một danh sách các từ.

Copied!

my_str = 'apple one banana two kiwi three' list_of_words = my_str.split[] print[list_of_words] # 👉️ ['apple', 'one', 'banana', 'two', 'kiwi', 'three']

Phương thức str.split [] chia chuỗi thành một danh sách các chuỗi con bằng cách sử dụng dấu phân cách.

Phương thức lấy 2 tham số sau:

TênSự mô tả
máy tách biệtChia chuỗi thành chuỗi con trên mỗi lần xuất hiện
MaxSplitNhiều nhất
>>> "My, ! Hello  friendly stery"
3 chia tách được thực hiện [tùy chọn]

Khi phương thức

>>> "My, ! Hello  friendly stery"
2 được gọi mà không có dấu phân cách, nó coi các ký tự khoảng trắng liên tiếp là một dấu phân cách duy nhất.

Nếu các từ trong chuỗi của bạn được phân tách bằng một dấu phân cách khác, hãy đảm bảo chuyển nó trong cuộc gọi đến

>>> "My, ! Hello  friendly stery"
2, ví dụ:
>>> "My, ! Hello  friendly stery"
6.

Bước tiếp theo là sử dụng danh sách hiểu biết để lọc ra một số từ.

Copied!

words_to_remove = ['one', 'two', 'three'] my_str = 'apple one banana two kiwi three' list_of_words = my_str.split[] print[list_of_words] # 👉️ ['apple', 'one', 'banana', 'two', 'kiwi', 'three'] filtered_words = [word for word in list_of_words if word.lower[] not in words_to_remove] print[filtered_words] # 👉️ ['apple', 'banana', 'kiwi']

Danh sách các hệ thống được sử dụng để thực hiện một số hoạt động cho mọi yếu tố hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện.

Trên mỗi lần lặp, chúng tôi kiểm tra xem từ không có trong danh sách

>>> "My, ! Hello  friendly stery"
7 trước khi trả lại.

Các thử nghiệm trong nhà điều hành để thành viên. Ví dụ,

>>> "My, ! Hello  friendly stery"
8 đánh giá thành
>>> "My, ! Hello  friendly stery"
9 nếu
"hello".replace["he", "je"]
0 là thành viên của
"hello".replace["he", "je"]
1, nếu không nó sẽ đánh giá thành
"hello".replace["he", "je"]
2.

"hello".replace["he", "je"]
3 trả về sự phủ định của
>>> "My, ! Hello  friendly stery"
8.

Chúng tôi cũng đã sử dụng phương thức

"hello".replace["he", "je"]
5 để chuyển đổi từng từ thành chữ thường, đó là tùy chọn.

Khi chúng tôi có một danh sách chỉ chứa các từ chúng tôi cần, chúng tôi có thể sử dụng phương thức

>>> "My, ! Hello  friendly stery"
1 để tham gia danh sách các từ vào một chuỗi.

Copied!

words_to_remove = ['one', 'two', 'three'] my_str = 'apple one banana two kiwi three' list_of_words = my_str.split[] print[list_of_words] # 👉️ ['apple', 'one', 'banana', 'two', 'kiwi', 'three'] filtered_words = [word for word in list_of_words if word.lower[] not in words_to_remove] print[filtered_words] # 👉️ ['apple', 'banana', 'kiwi'] final_string = ' '.join[filtered_words] print[final_string] # 👉️ 'apple banana kiwi'

Phương thức str.join lấy một điều đáng tin cậy như một đối số và trả về một chuỗi là sự kết hợp của các chuỗi trong điều kiện có thể sử dụng được.

Chuỗi phương thức được gọi là bật được sử dụng làm phân tách giữa các phần tử.

Chúng tôi đã tham gia các chuỗi trong danh sách với bộ phân cách không gian trong ví dụ, nhưng bạn có thể sử dụng bất kỳ dấu phân cách nào khác phù hợp với trường hợp sử dụng của bạn.

Bài Viết Liên Quan

Chủ Đề