Cách lọc danh sách các chuỗi trong Python

How Filter List Strings Python



Python sử dụng kiểu dữ liệu danh sách để lưu trữ nhiều dữ liệu trong một 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 rất hữu ích của Python. Một hoặc nhiều giá trị dữ liệu có thể được lọc khỏi 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 (). Nó lọc dữ liệu dựa trên bất kỳ điều kiện cụ thể nào. Nó lưu trữ dữ liệu khi điều kiện trả về true và loại bỏ dữ liệu khi trả về false. Cách dữ liệu chuỗi trong danh sách có thể được lọc bằng 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 pháp 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 list1list2 . Các giá trị của list2 được lọc bằng cách sử dụng các giá trị của list1 . Tập lệnh sẽ khớp với từ đầu tiên của mỗi giá trị list2 với các giá trị của list1 và in những giá trị không tồn tại trong 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',
'PHP là ngôn ngữ kịch bản phía máy chủ',
'Java là một ngôn ngữ lập trình',
'Bash là một ngôn ngữ kịch bản']

# Lọc danh sách thứ hai dựa trên danh sách đầu tiên
bộ lọc_data= [NSNStronglist2nếu như
tất cả các(không phải trongNStronglist1)]

# In dữ liệu danh sách trước khi lọc và sau khi lọc
in('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:',bộ lọc_data)

Đầu ra:



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à một ngôn ngữ viết kịch bản ' .







Lọc danh sách chuỗi bằng một danh sách khác và hàm 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 một danh sách khác và chức năng lọc tùy chỉnh. Tập lệnh chứa hai biến danh sách có tên là list1 và list2. Chức năng 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', '3. 4', '55', '12', '87', '32']
list2= ['9', '90', '38', 'Bốn năm', '12', 'hai mươi']

# Khai báo một funtion để lọc dữ liệu từ danh sách đầu tiên
phản đốiLọc(list1,list2):
trở lại [nntronglist1nếu như
không tí nào(NStrongnNStronglist2)]

# In dữ liệu danh sách trước khi lọc và sau khi lọc
in('Nội dung của list1:',list1)
in('Nội dung của list2:',list2)
in('Dữ liệu sau khi lọc',Lọc(list1,list2))

Đầu ra:



Chạy tập lệnh. Giá trị 90 và 12 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.

Lọc danh sách chuỗi bằng biểu thức chính quy

Danh sách được lọc bằng cách sử dụng tất cả các()không tí nào() trong hai ví dụ trước. Biểu thức chính quy được sử dụng trong ví dụ này để lọc dữ liệu từ danh sách. Biểu thức chính quy là một mẫu mà bất kỳ dữ liệu nào cũng có thể được tìm kiếm hoặc so khớp. 'lại' mô-đun được sử dụng trong python để áp dụng biểu thức chính quy trong tập lệnh. Tại đây, một danh sách được khai báo với các mã môn học. Một biểu thức chính quy được sử dụng để lọc những mã chủ đề bắt đầu bằng từ, ‘ CSE '. ' ^ Ký hiệu ‘được sử dụng trong các mẫu biểu thức chính quy để tìm kiếm ở đầu văn bản.

# Nhập lại mô-đun để sử dụng biểu thức chính quy
nhập khẩu lại

# Khai báo danh sách chứa mã chủ đề
danh sách phụ= ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']

# Khai báo chức năng lọc
phản đốiLọc(danh sách dữ liệu):
# Tìm kiếm dữ liệu dựa trên biểu thức chính quy trong danh sách
trở lại [giờgiờtrongdanh sách dữ liệu
nếu như lại.Tìm kiếm(NS'^ CSE',giờ)]

# In dữ liệu bộ lọc
in(Lọc(danh sách phụ))

Đầu ra:

Chạy tập lệnh. danh sách phụ biến chứa hai giá trị bắt đầu bằng ‘ CSE '. Kết quả sau sẽ xuất hiện sau khi chạy tập lệnh.

Lọc danh sách chuỗi bằng biểu thức lamda

Ví dụ này cho thấy việc sử dụng lamda biểu thức để 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 chữ . Nội dung của văn bản được chuyển 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 tách ra() phương pháp. lamda biểu thức sẽ bỏ qua các giá trị đó khỏi text_word tồn tại trong search_word và lưu trữ các giá trị đã lọc trong một biến bằng cách thêm khoảng trắng.

# Khai báo danh sách có chứa từ tìm kiếm
search_word= ['Dạy', 'Mã số', 'Lập trình', 'Blog']

# Xác định văn bản mà từ trong danh sách sẽ tìm kiếm
chữ= 'Học lập trình Python từ Blog gợi ý Linux'

# Tách văn bản dựa trên khoảng trắng và lưu trữ các từ trong danh sách
text_word=chữ.tách ra()

# Sử dụng biểu thức lambda lọc dữ liệu
filter_text= ''.tham gia((lọc(lambdaval: valkhông phảitôi
n search_word,text_word)))

# In văn bản trước khi lọc và sau khi lọc
in(' Văn bản trước khi lọc: ',chữ)
in('Văn bản sau khi lọc: ',filter_text)

Đầu ra:

Chạy tập lệnh. Kết quả sau sẽ xuất hiện sau khi chạy tập lệnh.

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

lọc() phương thức chấp nhận hai tham số. Tham số đầu tiên có 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 dưới dạng các giá trị. lọc() Phương thức lưu trữ những dữ liệu đó từ danh sách nếu nó trả về true, nếu không, nó sẽ loại bỏ dữ liệu. Ở đây, Không có được đưa ra dưới dạng giá trị tham số đầu tiên. Tất cả các giá trị không có sai sẽ được truy xuất từ ​​danh sách dưới dạng dữ liệu đã lọc.

# Khai báo danh sách dữ liệu kết hợp
listData= ['Xin chào', 200, 1, 'Thế giới', Sai, Thật, '0']

# Gọi phương thức filter () với Không có và một danh sách
LọcData= lọc(Không có,listData)

# In danh sách sau khi lọc dữ liệu
in('Danh sách sau khi lọc:')
giờtrongLọcData:
in(giờ)

Đầu ra:

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

Phần kết luận:

Lọc rất 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 những ví dụ trên sẽ giúp người đọc hiểu được cách lọc dữ liệu từ danh sách chuỗi.