Khi cần tìm tất cả tổ hợp trong danh sách với điều kiện cho trước, dùng vòng lặp đơn giản, phương thức append và isinstance.
Ví dụ
Minh họa dưới đây:
my_list = ["python", [15, 12, 33, 14], "is", ["fun", "easy", "better", "cool"]]
print("Danh sách là:")
print(my_list)
K = 4
print("Giá trị K là:")
print(K)
my_result = []
count = 0
while count <= K - 1:
temp = []
for index in my_list:
if not isinstance(index, list):
temp.append(index)
else:
temp.append(index[count])
count += 1
my_result.append(temp)
print("Kết quả là:")
print(my_result)
Kết quả
Danh sách là: ['python', [15, 12, 33, 14], 'is', ['fun', 'easy', 'better', 'cool']] Giá trị K là: 4 Kết quả là: [['python', 15, 'is', 'fun'], ['python', 12, 'is', 'easy'], ['python', 33, 'is', 'better'], ['python', 14, 'is', 'cool']]
Giải thích
- Định nghĩa danh sách số nguyên và hiển thị ra console. (Lưu ý: danh sách thực tế chứa chuỗi và list)
- Định nghĩa giá trị K và hiển thị ra console.
- Tạo danh sách rỗng.
- Tạo biến 'count' gán 0.
- Dùng vòng lặp while lặp qua danh sách, dùng
isinstancekiểm tra kiểu phần tử có khớp kiểu cụ thể không. - Tùy theo đó, phần tử được thêm vào danh sách rỗng.
- Đây là đầu ra hiển thị trên console.