Làm thế nào để bạn tìm thấy giao điểm của hai mảng trong python?

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

  1. 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
  2. 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
  3. Để 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
  4. 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

Giao điểm của hai mảng NumPy

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

Làm cách nào để tìm liên kết và giao điểm của hai mảng trong python?

Liên minh. Danh sách tất cả các phần tử có trong cả hai danh sách. Ngã tư. Danh sách tất cả các phần tử có trong cả hai danh sách. .
Bước 1. Đặt new_arr làm danh sách mới
Bước 2. Lặp lại các phần tử của list1. .
Bước 3. Lặp lại các phần tử của list2. .
Bước 4. Sắp xếp new_arr

Giao của hai mảng là gì?

Giao điểm của hai mảng là danh sách các số riêng biệt có trong cả hai mảng . Các số trong giao lộ có thể theo bất kỳ thứ tự nào.

Chủ Đề