Hướng dẫn how do you filter text in a list in python? - làm cách nào để lọc văn bản trong danh sách trong python?

Python sử dụng kiểu dữ liệu danh sách để lưu trữ nhiều dữ liệu theo chỉ mục tuần tự. Nó hoạt động giống như một mảng số của các ngôn ngữ lập trình khác. Phương thức Filter () là một phương thức Python rất hữu ích. Một hoặc nhiều giá trị dữ liệu có thể được lọc từ bất kỳ chuỗi hoặc danh sách hoặc từ điển nào trong Python bằng cách sử dụng phương thức Filter (). & Nbsp; Nó lọc dữ liệu dựa trên bất kỳ điều kiện cụ thể. Nó lưu trữ dữ liệu khi điều kiện trả về đúng và loại bỏ dữ liệu khi trả về sai. Làm thế nào dữ liệu chuỗi trong danh sách có thể được lọc trong Python được hiển thị trong bài viết này bằng cách sử dụng các ví dụ khác nhau. Bạn phải sử dụng Python 3+ để kiểm tra các ví dụ của bài viết này.

Lọc danh sách chuỗi bằng danh sách khác

Ví dụ này cho thấy cách dữ liệu trong danh sách chuỗi có thể được lọc mà không cần sử dụng bất kỳ phương thức nào. Danh sách chuỗi được lọc ở đây bằng cách sử dụng một danh sách khác. Ở đây, hai biến danh sách được khai báo với tên List1 và List2. Các giá trị của List2 được lọc bằng cách sử dụng các giá trị của List1. Kịch bản sẽ khớp với từ đầu tiên của mỗi giá trị của List2 với các giá trị của List1 và in các giá trị mà don don tồn tại trong List1.list1 and list2. The values of list2 is filtered by using the values of list1. The script will match the first word of each value of list2 with the values of list1 and print those values that don’t exist in list1.

# Khai báo hai biến danh sách list1 = ['perl', 'php', 'java', 'asp'] list2 = ['javaScript là ngôn ngữ kịch bản phía máy khách', & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'PHP là ngôn ngữ kịch bản phía máy chủ', & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'java là một ngôn ngữ lập trình', & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 'bash là ngôn ngữ kịch bản']]
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript is client-side scripting language',
         'PHP is a server-side scripting language',
         'Java is a programming language',
         'Bash is a scripting language']

& nbsp; # Lọc danh sách thứ hai dựa trên danh sách đầu tiên Filter_data = [x cho x trong list2 if & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Tất cả (y notin x cho y trong list1)]# Filter the second list based on first list
filter_data = [x for x in list2 if
              all(y not in x for y in list1)]

& nbsp; # In danh sách dữ liệu trước Bộ lọc và After FilterPrint ("Nội dung của danh sách đầu tiên:", list1) in ("Nội dung của danh sách thứ hai:", list2) in ("Nội dung của danh sách thứ hai sau bộ lọc:",, " Filter_Data)# Print list data before filter and after filter
print("The content of the first list:", list1)
print("The content of the second list:", list2)
print("The content of the second list after filter:", filter_data)

Output:

Chạy tập lệnh. Ở đây, List1 không chứa từ ‘bash. Đầu ra sẽ chỉ chứa một giá trị từ List2 là ‘bash là ngôn ngữ kịch bản.list1 does not contain the word ‘Bash’. The output will contain only one value from list2 that is ‘Bash is a scripting language’.

Hướng dẫn how do you filter text in a list in python? - làm cách nào để lọc văn bản trong danh sách trong python?

Lọc danh sách chuỗi bằng cách sử dụng danh sách khác và chức năng tùy chỉnh

Ví dụ này cho thấy cách một danh sách chuỗi có thể được lọc bằng cách sử dụng danh sách khác và chức năng bộ lọc tùy chỉnh. Tập lệnh chứa hai biến danh sách có tên List1 và List2. Hàm bộ lọc tùy chỉnh sẽ tìm ra các giá trị chung của cả hai biến danh sách.

# Khai báo hai biến danh sách List1 = ['90', '67', '34', '55', '12', '87', '32'] list2 = ['9', '90', '38' , '45 ',' 12 ',' 20 ']
list1 = ['90', '67', '34', '55', '12', '87', '32']
list2 = ['9', '90', '38', '45', '12', '20']

& nbsp; # Khai báo một hàm để lọc dữ liệu từ bộ lọc ListDef đầu tiên (list1, list2): & nbsp; & nbsp; trả về [n cho n trong danh sách1 if & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; bất kỳ (m trong n cho m trong list2)]# Declare a funtion to filter data from the first list
def Filter(list1, list2):
    return [n for n in list1 if
             any(m in n for m in list2)]

& nbsp; # In Danh sách dữ liệu trước Bộ lọc và After FilterPrint ("Nội dung của List1:", List1) In ("Nội dung của List2:", List2) In ("Dữ liệu sau bộ lọc", Bộ lọc (List1, List2))# Print the list data before filter and after filter
print("The content of list1:", list1)
print("The content of list2:", list2)
print("The data after filter",Filter(list1, list2))

Output:

Chạy tập lệnh. 90 và 12 giá trị tồn tại trong cả hai biến danh sách. Đầu ra sau sẽ được tạo sau khi chạy tập lệnh.

Hướng dẫn how do you filter text in a list in python? - làm cách nào để lọc văn bản trong danh sách trong python?

Lọc danh sách chuỗi bằng cách sử dụng biểu thức thông thường

Danh sách được lọc bằng cách sử dụng tất cả các phương thức () và bất kỳ () nào trong hai ví dụ trước. Một biểu thức thông thường được sử dụng trong ví dụ này để lọc dữ liệu từ một danh sách. Một biểu thức chính quy là một mẫu mà theo đó bất kỳ dữ liệu nào có thể được tìm kiếm hoặc khớp. Mô -đun RE RE được sử dụng trong Python để áp dụng biểu thức chính quy trong tập lệnh. Ở đây, một danh sách được khai báo với mã chủ đề. Một biểu thức thông thường được sử dụng để lọc các mã chủ đề bắt đầu bằng từ, ‘CSE. ‘^Biểu tượng được sử dụng trong các mẫu biểu thức chính quy để tìm kiếm khi bắt đầu văn bản.all() and any() methods in the previous two examples. A regular expression is used in this example to filter the data from a list. A regular expression is a pattern by which any data can be searched or matched. ‘re’ module is used in python to apply regular expression in the script. Here, a list is declared with subject codes. A regular expression is used to filter those subject codes that start with the word, ‘CSE’. ‘^‘ symbol is used in regular expression patterns to search at the starting of the text.

# Nhập mô -đun RE để sử dụng biểu thức thông thường
import re

& nbsp; # Khai báo danh sách chứa mã chủ đề Sublist = ['CSE-407', 'Phy-101', 'CSE-101', 'Eng-102', 'MAT-202']]# Declare the list contains subject code
sublist = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']

# Khai báo bộ lọc Filterdef (Datalist): & nbsp; & nbsp; # Dữ liệu tìm kiếm dựa trên biểu thức thông thường trong danh sách & nbsp; & nbsp; Trả về [Val cho Val trong Datalist & NBSP; & nbsp; & nbsp; & nbsp; ifre.Search (r '^cse', val)]
def Filter(datalist):
    # Search data based on regular expression in the list
    return [val for val in datalist
        if re.search(r'^CSE', val)]

# In bộ lọc DataPrint (bộ lọc (Dists))
print(Filter(sublist))

Output:

Chạy tập lệnh. Biến Dists chứa hai giá trị bắt đầu bằng ‘CSE. Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh. sublist variable contains two values that start with ‘CSE’. The following output will appear after running the script.

Hướng dẫn how do you filter text in a list in python? - làm cách nào để lọc văn bản trong danh sách trong python?

Lọc danh sách chuỗi bằng cách sử dụng biểu thức LAMDA

Ví dụ này cho thấy việc sử dụng biểu thức LAMDA để lọc dữ liệu từ danh sách các chuỗi. Ở đây, một biến danh sách có tên search_word được sử dụng để lọc nội dung từ một biến văn bản có tên văn bản. Nội dung của văn bản được chuyển đổi thành một danh sách có tên, text_word dựa trên không gian bằng cách sử dụng phương thức Split (). Biểu thức LAMDA sẽ bỏ qua các giá trị đó từ Text_word tồn tại trong search_word và lưu trữ các giá trị được lọc trong một biến bằng cách thêm không gian.lamda expression to filter data from a list of strings. Here, a list variable named search_word is used to filter content from a text variable named text. The content of the text is converted into a list named, text_word based on space by using split() method. lamda expression will omit those values from the text_word that exist in search_word and store the filtered values in a variable by adding space.

# Khai báo một danh sách chứa từ tìm kiếm tìm kiếm_word = ["dạy", "mã", "lập trình", "blog"]]
search_word = ["Teach", "Code", "Programming", "Blog"]

# Xác định văn bản trong đó từ trong danh sách sẽ tìm kiếm văn bản = "Tìm hiểu lập trình Python từ Blog gợi ý Linux"
text = "Learn Python Programming from Linux Hint Blog"

# Chia văn bản dựa trên không gian và lưu trữ các từ trong danh sách text_word = text.split ()
text_word = text.split()

# Sử dụng Bộ lọc biểu thức Lambda Bộ lọc dữ liệu_text = ''.
filter_text = ' '.join((filter(lambda val: val not i
n search_word, text_word)))

# In văn bản trước khi lọc và sau khi lọcPrint ("\ ntext trước khi lọc: \ n", văn bản) in ("văn bản sau khi lọc: \ n", filter_text)
print("\nText before filtering:\n", text)
print("Text after filtering:\n", filter_text)

Output:

Chạy tập lệnh. Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh.

Hướng dẫn how do you filter text in a list in python? - làm cách nào để lọc văn bản trong danh sách trong python?

Lọc danh sách chuỗi bằng phương thức Filter ()

Phương thức Filter () chấp nhận hai tham số. Tham số đầu tiên lấy tên hàm hoặc không có và tham số thứ hai lấy tên của biến danh sách làm giá trị. Phương thức Filter () lưu trữ các dữ liệu đó từ danh sách nếu nó trả về đúng, nếu không, nó sẽ loại bỏ dữ liệu. Ở đây, không có giá trị tham số đầu tiên. Tất cả các giá trị không có sai sẽ được lấy từ danh sách dưới dạng dữ liệu được lọc. method accepts two parameters. The first parameter takes a function name or None and the second parameter takes the name of the list variable as values. filter() method stores those data from the list if it returns true, otherwise, it discards the data. Here, None is given as the first parameter value. All values without false will be retrieved from the list as filtered data.

# Khai báo danh sách các dữ liệu hỗn hợp listdata = ['xin chào', 200,1, 'thế giới', sai, đúng, '0']]]
listData = ['Hello', 200, 1, 'World', False, True, '0']

& nbsp; # Call Filter () Phương thức không có và Danh sách FilteredData = Filter (none, ListData)# Call filter() method with None and a list
filteredData = filter(None, listData)

& nbsp; # In danh sách sau khi lọc DataPrint ('Danh sách sau khi lọc:') cho Val trong Lọc Lọc: & NBSP; & nbsp; In (Val)# Print the list after filtering the data
print('The list after filtering:')
for val in filteredData:
    print(val)

Output:

Chạy tập lệnh. Danh sách chỉ chứa một giá trị sai sẽ được bỏ qua trong dữ liệu được lọc. Đầu ra sau sẽ xuất hiện sau khi chạy tập lệnh.

Hướng dẫn how do you filter text in a list in python? - làm cách nào để lọc văn bản trong danh sách trong python?

Conclusion:

Lọc là hữu ích khi bạn cần tìm kiếm và truy xuất các giá trị cụ thể từ danh sách. Tôi, hy vọng, các ví dụ trên sẽ giúp người đọc hiểu cách lọc dữ liệu từ danh sách các chuỗi.

Thông tin về các Tác giả

Hướng dẫn how do you filter text in a list in python? - làm cách nào để lọc văn bản trong danh sách trong python?

Tôi là một huấn luyện viên của các khóa học lập trình web. Tôi thích viết bài báo hoặc hướng dẫn về các chủ đề CNTT khác nhau. Tôi có một kênh YouTube trong đó nhiều loại hướng dẫn dựa trên Ubuntu, Windows, Word, Excel, WordPress, Magento, Laravel, v.v.

Làm thế nào để bạn lọc các mục trong một danh sách trong Python?

Để lọc một danh sách trong Python, hãy sử dụng hàm FILE-IN-IN FILE () ...
A for Loop đi qua từng yếu tố của một danh sách ..
Nó kiểm tra xem một phần tử có thỏa mãn điều kiện không ..
Dựa trên điều kiện, nó thêm phần tử vào kết quả ..

Làm thế nào để bạn tìm kiếm văn bản trong danh sách Python?

Python Tìm chuỗi trong danh sách bằng cách sử dụng Count (), chúng ta cũng có thể sử dụng hàm Count () để có được số lần xuất hiện của một chuỗi trong danh sách.Nếu đầu ra của nó là 0, thì điều đó có nghĩa là chuỗi không có trong danh sách.l1 = ['a', 'b', 'c', 'd', 'a', 'a', 'c'] s = 'a' Count = l1.using count() We can also use count() function to get the number of occurrences of a string in the list. If its output is 0, then it means that string is not present in the list. l1 = ['A', 'B', 'C', 'D', 'A', 'A', 'C'] s = 'A' count = l1.

Bạn có thể sử dụng bộ lọc trên một chuỗi không?

Bạn không thể sử dụng Filter () trên một chuỗi vì nó là một mảng..

Làm thế nào để bạn lọc các ký tự trong Python?

Bộ lọc các ký tự từ một chuỗi trong python bằng Filter (), chúng ta cũng có thể sử dụng Filter () với một chuỗi làm chuỗi có thể lặp lại và có thể lọc các ký tự từ nó.Giả sử chúng ta có một chuỗi, tức là bây giờ hãy sử dụng bộ lọc () để xóa hoặc lọc tất cả các lần xuất hiện của các ký tự 'và' A 'từ chuỗi trên, tức làusing filter() We can also use filter() with a string as an iterable sequence and can filter out characters from it. Suppose we have a string i.e. Now let's use filter() to remove or filter all occurrences of characters 's' and 'a' from the above string i.e.