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

Tổng các phần tử xen kẽ trong danh sách (Python)


Cho một danh sách số, trong bài này ta sẽ tính tổng các phần tử xen kẽ trong danh sách đó.

Với cắt danh sách và range

Mỗi số thứ hai, cũng dùng hàm range cùng len để lấy số phần tử cần cộng.

Ví dụ

listA = [13, 65, 78, 13, 12, 13, 65]
# In danh sách gốc
print("Danh sách cho trước : ", str(listA))
# Với cắt danh sách
res = [sum(listA[i::2]) for i in range(len(listA) // (len(listA) // 2))]
# In kết quả
print("Tổng các phần tử xen kẽ trong danh sách :\n ", res)

Kết quả

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

Danh sách cho trước : [13, 65, 78, 13, 12, 13, 65]
Tổng các phần tử xen kẽ trong danh sách : [168, 91]

Với range và %

Dùng toán tử phần trăm tách số ở vị trí chẵn và lẻ. Sau đó cộng phần tử vào vị trí tương ứng của list rỗng mới. Cuối cùng cho list hiển thị tổng phần tử vị trí lẻ và tổng phần tử vị trí chẵn.

Ví dụ

listA = [13, 65, 78, 13, 12, 13, 65]
# In danh sách gốc
print("Danh sách cho trước : ", str(listA))
res = [0, 0]
for i in range(0, len(listA)):
    if i % 2:
        res[1] += listA[i]
    else:
        res[0] += listA[i]
# In kết quả
print("Tổng các phần tử xen kẽ trong danh sách :\n ", res)

Kết quả

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

Danh sách cho trước : [13, 65, 78, 13, 12, 13, 65]
Tổng các phần tử xen kẽ trong danh sách : [168, 91]