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

Python - Nhóm các phần tử liên tiếp bằng Dấu

Khi cần nhóm các phần tử liên tiếp theo dấu, toán tử ‘^’ và phép lặp đơn giản cùng với ‘enumerate’ được sử dụng.

Dưới đây là một minh chứng về điều tương tự -

Ví dụ

my_list = [15, -33, 12, 64, 36, -12, -31, -17, -49, 12, 43, 30, -23, -35, 53]

print("The list is :")
print(my_list)

my_result = [[]]
for (index, element) in enumerate(my_list):

   if element ^ my_list[index - 1] < 0:
      my_result.append([element])
   else:
      my_result[-1].append(element)

print("The result is :")
print(my_result)

Đầu ra

The list is :
[15, -33, 12, 64, 36, -12, -31, -17, -49, 12, 43, 30, -23, -35, 53]
The result is :
[[15], [-33], [12, 64, 36], [-12, -31, -17, -49], [12, 43, 30], [-23, -35], [53]]

Giải thích

  • Một danh sách được xác định và hiển thị trên bảng điều khiển.

  • Một danh sách trống được xác định.

  • Danh sách được lặp lại bằng cách sử dụng ‘enumerate’ và toán tử ‘^’ được sử dụng để kiểm tra xem phần tử cụ thể có nhỏ hơn 0.

  • Nếu có, nó sẽ được thêm vào danh sách trống.

  • Nếu không, nó sẽ được thêm vào cuối danh sách.

  • Điều này được hiển thị dưới dạng đầu ra trên bảng điều khiển.