Chương trình Python này tính tích Descartes của hai tập hợp. Tích Descartes còn được gọi là tích chéo
Ví dụ về sản phẩm Descartes. nếu setA = [1, 2, 3]
và setB = [a, b]
thì xuất ra setA X setB = [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b'], [3, 'a'], [3, 'b']]
Tích Descartes của hai tập hợp có thể dễ dàng lấy được bằng cách sử dụng cách hiểu danh sách. Xem mã nguồn Python bên dưới
gupta khắc nghiệt
Theo
Ngày 9 tháng 8 năm 2021
·
2 phút đọc
Sản phẩm Cartesian trong python có và không có itertools. hàm sản phẩm []
Nhiệm vụ
Bạn được đưa cho hai danh sách A và B. Nhiệm vụ của bạn là tính tích cartesian AXB
Ví dụ
A = [1, 2]
B = [3, 4]AxB = [[1, 3], [1, 4], [2, 3], [2, 4]]
Ghi chú. A và B là các danh sách được sắp xếp và các bộ dữ liệu của sản phẩm cartesian phải được xuất theo thứ tự được sắp xếp
Định dạng đầu vào
Dòng đầu tiên chứa các phần tử được phân tách bằng dấu cách của danh sách A.
Dòng thứ hai chứa các phần tử được phân tách bằng dấu cách của danh sách B.
Cả hai danh sách không có phần tử số nguyên trùng lặp
Hạn chế
1. 0 < Một < 30
2. 0 < B < 30
Định dạng đầu ra
Xuất các bộ dữ liệu được phân tách bằng dấu cách của tích cartesian
đầu vào mẫu
1 2
3 4
Đầu ra mẫu
[1, 3] [1, 4] [2, 3] [2, 4]
Mã mà không cần nhập bất kỳ thư viện nào
# inputting the first list
# we are using list comprehension here
# it is just like this code :
"""
list1 = []
inputted = input["Enter the first list : "]
inputted = inputted.split[]
for i in inputted:
list1.append[int[i]]
"""list1 = [int[i] for i in input["Enter the first list : "].split[]]
list2 = [int[i] for i in input["Enter the second list : "].split[]]
cartesianProduct = []# cartesian product is simply the product of each element of list with every other element of second list
for i in list1:
for j in list2:
result = [i , j]
cartesianProduct.append[result]print["cartesianProduct = "]
print[cartesianProduct]
đầu ra
Enter the first list : 1 2 3
Enter the second list : 4 5 6
cartesianProduct =
[[1, 4], [1, 5], [1, 6], [2, 4], [2, 5], [2, 6], [3, 4], [3, 5], [3, 6]]
Code sử dụng thư viện itertools
# inputting the first list
# we are using list comprehension here
# it is just like this code :
"""
list1 = []
inputted = input["Enter the first list : "]
inputted = inputted.split[]
for i in inputted:
list1.append[int[i]]
"""list1 = [int[i] for i in input["Enter the first list : "].split[]]
list2 = [int[i] for i in input["Enter the second list : "].split[]]from itertools import product
print["cartesianProduct = "]# here * is the unpack operator
print[*product[list1, list2]]
đầu ra
Enter the first list : 1 2 3
Enter the second list : 4 5 6
cartesianProduct =
[1, 4] [1, 5] [1, 6] [2, 4] [2, 5] [2, 6] [3, 4] [3, 5] [3, 6]
Cảm ơn bạn đã đọc bài viết này, thích và chia sẻ nó với bạn bè của bạn
Đọc thêm các blog tuyệt vời như vậy tại https. //www. Blog. letcodeofficial. com/
Tham gia Cộng đồng lập trình thú vị nhất MIỄN PHÍ tại https. //www. letcodeofficial. com/
Kiểm tra hồ sơ github của tôi tại https. //github. com/khắc nghiệt
Đôi khi, trong khi làm việc với dữ liệu, chúng ta cần tạo dữ liệu dưới dạng tất cả các cặp vùng chứa có thể. Loại ứng dụng này đến từ miền phát triển web. Hãy thảo luận về những cách nhất định trong đó nhiệm vụ này có thể được thực hiện.
Sử dụng hiểu danh sách
hiểu danh sách trong Python là một cách đơn giản để thực hiện tác vụ cụ thể này. Trong phần này, chúng tôi chỉ rút ngắn nhiệm vụ lặp trong một dòng để tạo tất cả các cặp bộ dữ liệu có thể có với các phần tử danh sách.
Python3
1 2
3 4
01 2
3 4
11 2
3 4
2
1 2
3 4
31 2
3 4
41 2
3 4
5 1 2
3 4
61 2
3 4
71 2
3 4
81 2
3 4
91 2
3 4
81 2
3 4
111 2
3 4
81 2
3 4
131 2
3 4
14