Nhiều vòng lặp trong list comprehension trong Python

Làm việc với list comprehension cho phép viết nhiều vòng lặp để tạo ra danh sách mới. Vòng lặp đầu tiên được chỉ định sẽ là vòng lặp bên ngoài, trong đó vòng lặp thứ hai được viết sẽ được chạy. Điều này có nghĩa là vòng lặp thứ hai sẽ được lồng vào vòng lặp đầu tiên.

Hãy tạo một danh sách các tuple. Để làm điều này, trước tiên chúng ta viết hai biến i và j, được đặt trong dấu ngoặc tròn, biểu thị một tuple. Sau đó, chúng ta chạy một vòng lặp với biến i, biến này sẽ tạo ra số đầu tiên của tuple trong phạm vi từ 1 đến 3. Sau đó viết một vòng lặp, trong đó số thứ hai j được tạo từ 1 đến 2:

pythonlst = [(i, j) for i in range(1, 4) for j in range(1, 3)]
print(lst)

Kết quả thực thi mã:

python[(1, 1), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)]
Задание 1

Cho hai danh sách:

pythonlst1 = ['1', '2']
lst2 = ['a', 'b', 'c']

Sử dụng list comprehension, hãy tạo một danh sách mới từ chúng:

python[('1', 'a'), ('1', 'b'), ('1', 'c'), ('2', 'a'), ('2', 'b'), ('2', 'c')]