Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Lấy phần tử dương từ danh sách các danh sách trong Python


Danh sách có thể lồng nhau, nghĩa là các phần tử của một danh sách bản thân là các danh sách. Bài viết này trình bày cách tìm chỉ các số dương từ một danh sách các danh sách. Kết quả là một danh sách mới chứa các danh sách lồng nhau chỉ chứa số dương.

Sử dụng for in

Ở đây ta đơn giản áp dụng toán tử toán học để kiểm tra giá trị các phần tử trong danh sách bằng vòng lặp for. Nếu giá trị dương, ta bắt nó làm một danh sách và vòng lặp for bên ngoài lưu làm danh sách cuối cùng của các danh sách.

Ví dụ

listA = [[-9, -1, 3], [11, -8, -4,434,0]] # Danh sách cho trước print("Danh sách cho trước :\n", listA) # Tìm phần tử dương res = [[y for y in x if y > 0] for x in listA] # Kết quả print("Danh sách các số dương :", res)

Kết quả

Chạy mã trên cho kết quả sau −

Danh sách cho trước : [[-9, -1, 3], [11, -8, -4, 434, 0]] Danh sách các số dương : [[3], [11, 434]]

Sử dụng append

Hàm append cho phép liên tục thêm phần tử vào một chứa đựng. Ở đây ta thiết kế vòng lặp for lồng nhau, trong đó ta kiểm tra giá trị phần tử là dương và append nó vào danh sách trong vòng lặp for bên trong, trong khi vòng lặp for bên ngoài bắt từng danh sách con bên trong.

Ví dụ

listA = [[-9, -1, 3], [11, -8, -4,434,0]] # Danh sách cho trước print("Danh sách cho trước :\n", listA) res= [] # Với append for elem in listA: temp = [] for i in elem: if i > 0: temp.append(i) res.append(temp) # Kết quả print("Danh sách các số dương :", res)

Kết quả

Chạy mã trên cho kết quả sau −

Danh sách cho trước : [[-9, -1, 3], [11, -8, -4, 434, 0]] Danh sách các số dương : [[3], [11, 434]]