Hai mảng sẽ được cung cấp bởi người dùng và chúng ta phải tìm hợp và giao của các mảng này trong lập trình Python. Để tìm hợp và giao của các mảng này, chúng ta sẽ sử dụng bitwise hoặc [. ] và bitwise và [&] tương ứng giữa tập hợp các mảng đã cho. Trước khi đi giải bài toán này chúng ta sẽ tìm hiểu về hợp và giao
Hợp và giao của hai mảng
Một danh sách có phần tử riêng biệt chung từ cả hai mảng và nếu có sự lặp lại của phần tử thì chỉ một lần xuất hiện được xem xét, được gọi là hợp của cả hai mảng
Một danh sách có các phần tử riêng biệt chung từ cả hai mảng, là giao điểm của cả hai mảng
Thuật toán để giải quyết vấn đề này
- Ban đầu, chúng tôi sẽ lấy hai danh sách từ người dùng có thể có số lặp lại hoặc không
- Chúng tôi sẽ lấy bitwise hoặc [. ] giữa các tập hợp của cả hai mảng để tìm hợp và gán nó vào một biến A ở dạng danh sách
- Để tìm giao điểm của cả hai mảng, chúng ta sẽ sử dụng phép tính bit và [&] giữa các tập hợp mảng đã cho và gán nó vào một biến B ở dạng danh sách
- In biến A và B là đầu ra cần thiết của chúng tôi
Hãy bắt đầu viết chương trình Python bằng cách thực hiện thuật toán trên
Mã số
a=list[map[int,input['Enter elements of first list:'].split[]]] b=list[map[int,input['Enter elements of second list:'].split[]]] A=list[set[a]|set[b]] B=list[set[a]&set[b]] print['Union of the arrays:',A] print['intersection of the arrays:',B]
đầu ra
Enter elements of first list: 3 4 6 4 4 6 7 41 Enter elements of second list: 78 3 5 7 -1 9 2 -5 Union of the arrays: [2, 3, 4, 5, 6, 7, 41, 9, 78, -5, -1] intersection of the arrays: [3, 7]
Hàm set[] được tích hợp sẵn trong Python, được sử dụng để chuyển đổi một danh sách thành một danh sách khác không chứa các phần tử trùng lặp hoặc lặp lại
Numpy là gói python tốt nhất để tạo mảng. Có nhiều phương pháp trong đó cho phép bạn thực hiện các phép tính toán học phức tạp một cách hiệu quả. NumPy np. giao nhau1d[] là một trong số họ
Trong toàn bộ hướng dẫn này, bạn sẽ học cách tìm giao điểm của hai hoặc nhiều mảng NumPy trong python
NP giao nhau1d là gì?
Numpy cung cấp một phương thức np. giao nhau1d cho phép bạn tính giao điểm của hai hoặc nhiều mảng NumPy. Cú pháp cho phương pháp này là dưới đây
numpy.intersect1d[ar1, ar2, assume_unique=False, return_indices=False]
Giải thích về các tham số dưới đây
ar1. Mảng đầu vào đầu tiên
ar2. Mảng đầu vào thứ hai
giả định_unique. Cả hai mảng đầu vào đều được coi là duy nhất nếu nó được đặt thành true. Nó làm tăng tốc độ tính toán. Giá trị mặc định là sai
return_indices. Nếu đúng, các chỉ số tương ứng với giao điểm của hai mảng được trả về. Phiên bản đầu tiên của một giá trị được sử dụng nếu có nhiều. Mặc định là Sai
Làm thế nào để bạn tìm thấy giao điểm của hai mảng NumPy?
Hãy tìm giao điểm của hai mảng Numpy bằng cách sử dụng NumPy. giao nhau1d[]. Đầu tiên, bạn sẽ tạo các mảng NumPy hai mẫu và chuyển hai mảng này làm đối số để tìm phần giao nhau hoặc các phần tử chung của hai mảng NumPy
Thực thi toàn bộ dòng mã để tìm giao điểm của hai mảng NumPy
import numpy as np
array1 = np.array[[10,20,30,40,50]]
array2 = np.array[[20,40,50,60]]
print[np.intersect1d[array1,array2]]
đầu ra
Tìm giao điểm của nhiều hơn hai mảng NumPy?
Trường hợp đầu tiên tìm giao điểm của hai mảng NumPy. Nhưng nếu bạn muốn tìm giao điểm của nhiều hơn hai mảng thì sao?. Bạn không thể chuyển trực tiếp tất cả các mảng này làm đối số của np. phương thức giao nhau1d[]
Đối với trường hợp này, bạn phải sử dụng funcools. giảm. các công cụ chức năng. reduce sẽ lưu trữ kết quả của giao điểm của hai mảng và sau đó tìm giao điểm của các mảng khác bằng cách sử dụng nó
Trong hướng dẫn này, chúng ta sẽ thảo luận về cách lấy giao điểm của hai danh sách. Giao điểm của hai danh sách có nghĩa là chúng ta cần lấy tất cả các yếu tố quen thuộc cho cả hai danh sách ban đầu
Python được biết đến với cấu trúc dữ liệu tích hợp tuyệt vời. Danh sách Python là một trong những kiểu dữ liệu dựng sẵn nổi tiếng và có giá trị của Python. Nó có thể lưu trữ các giá trị kiểu dữ liệu khác nhau theo thứ tự được sắp xếp. Tuy nhiên, không có chức năng tích hợp sẵn cho các danh sách như bộ
Python cung cấp nhiều cách để thực hiện giao điểm của các danh sách. Hãy xem tình huống sau
Đầu vào
đầu ra
[90, 11, 58, 31, 66, 28, 54]
Đầu vào
đầu ra
Hãy xem các phương pháp sau đây để có được giao điểm của hai danh sách
Phương pháp - 1. Sử dụng vòng lặp
đầu ra
[90, 11, 58, 31, 66, 28, 54]
Chúng tôi đã sử dụng vòng lặp for để lấy giá trị chung từ cả hai danh sách và lưu trữ nó trong biến list3
Phương pháp - 2. Chuyển đổi danh sách thành tập hợp
đầu ra
[66, 90, 11, 54, 58, 28, 31]
Phương pháp - 3
Chúng tôi sẽ sử dụng phương thức giao nhau [] được thiết lập sẵn. Giao lộ [] là một phần hạng nhất của tập hợp. Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
{66, 90, 11, 54, 58, 28, 31}
Phương pháp - 4
Trong phương pháp này, chúng tôi sẽ sử dụng phương pháp lai. Đây là cách hiệu quả để thực hiện nhiệm vụ. Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
[90, 11, 58, 31, 66, 28, 54]
Phương pháp - 5
Trong phương thức này, chúng ta sẽ sử dụng phương thức filter[]. Giao lộ được thực hiện trên các danh sách con bên trong các danh sách khác. Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
[[17, 23, 40], [10], [60]]
Phương thức filter[] lấy từng mục của danh sách con và kiểm tra xem nó có trong danh sách1. Việc hiểu danh sách được thực hiện cho từng danh sách con trong list2