Computer >> Máy Tính >  >> Lập trình >> Python

Chỉ thêm các giá trị số có trong danh sách bằng Python

Chúng tôi có một danh sách Python chứa cả chuỗi và số. Trong bài viết này, chúng ta sẽ xem cách tổng hợp các số có trong danh sách như vậy bằng cách bỏ qua các chuỗi.

Với bộ lọc và sự hỗ trợ

Hàm isinstance chỉ có thể được sử dụng để lọc ra các số từ các phần tử trong danh sách. Sau đó, chúng tôi áp dụng và hàm sum và nhận được kết quả cuối cùng.

Ví dụ

listA = [1,14,'Mon','Tue',23,'Wed',14,-4]
#Given dlist
print("Given list: ",listA)
# Add the numeric values
res = sum(filter(lambda i: isinstance(i, int), listA))
print ("Sum of numbers in listA: ", res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list: [1, 14, 'Mon', 'Tue', 23, 'Wed', 14, -4]
Sum of numbers in listA: 48

Với vòng lặp for

Đây là một cách tiếp cận tương tự như một bức tường ngoại trừ việc chúng tôi không sử dụng bộ lọc thay vì sử dụng điều kiện sau và điều kiện là phiên bản. Sau đó, áp dụng hàm sum.

Ví dụ

listA = [1,14,'Mon','Tue',23,'Wed',14,-4]
#Given dlist
print("Given list: ",listA)
# Add the numeric values
res = sum([x for x in listA if isinstance(x, int)])
print ("Sum of numbers in listA: ", res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list: [1, 14, 'Mon', 'Tue', 23, 'Wed', 14, -4]
Sum of numbers in listA: 48