Tích cartesian của hai danh sách python

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]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
0

1 2
3 4
1

1 2
3 4
2

 

1 2
3 4
3

1 2
3 4
4
1 2
3 4
5
1 2
3 4
6
1 2
3 4
7
1 2
3 4
8
1 2
3 4
9
1 2
3 4
8
1 2
3 4
11
1 2
3 4
8
1 2
3 4
13
1 2
3 4
14

Sản phẩm Descartes trong python là gì?

Tích Đề-các là kết quả của tất cả các tổ hợp có thể có của hai tập hợp có tính đến thứ tự của các tập hợp . Nó dẫn đến một bộ chứa các bộ có ít nhất mục từ mỗi bộ được sắp xếp như các bộ ban đầu. Nó là một phần của Toán học nhưng có thể được tạo theo chương trình với python bằng cách sử dụng các lần lặp dưới dạng tập hợp.

Sản phẩm có ý nghĩa gì trong python?

product[] được dùng để tìm tích cartesian từ trình vòng lặp đã cho , đầu ra được sắp xếp theo thứ tự từ điển. itertools. product[] có thể được sử dụng theo hai cách khác nhau. itertools. sản phẩm[*iterables, repeat=1].

Tích Descartes của 3 tập hợp là gì?

Ghi chú. A × A × A = {[a, b, c]. a, b, c ∈ A} .

Chủ Đề