Khi cần tách danh sách dựa trên giá trị lớn hơn tiếp theo, dùng list comprehension, phương thức iter và islice.
Ví dụ
Minh họa dưới đây:
from itertools import islice
my_list = [11, 22, 33, 34, 45, 26, 87, 11]
print("Danh sách là:")
print(my_list)
length_to_split = [2, 5, 3]
print("Danh sách độ dài tách là:")
print(length_to_split)
temp = iter(my_list)
my_result = [list(islice(temp, element)) for element in length_to_split]
print("Kết quả là:")
print(my_result)
Kết quả
Danh sách là: [11, 22, 33, 34, 45, 26, 87, 11] Danh sách độ dài tách là: [2, 5, 3] Kết quả là: [[11, 22], [33, 34, 45, 26, 87], [11]]
Giải thích
- Import gói cần thiết vào môi trường.
- Định nghĩa danh sách số nguyên và hiển thị ra console.
- Định nghĩa danh sách số nguyên khác và hiển thị ra console.
- Gọi phương thức
itertrên danh sách, gán vào biến. - Dùng list comprehension lặp qua các phần tử, dùng phương thức
islice. - Chuyển thành list và gán vào biến.
- Đây là đầu ra hiển thị trên console.