Giao điểm tập hợp Python là gì? Phương thức Intersection làm gì trong Python? Tất cả những điều đó và hơn thế nữa được giải đáp trong hướng dẫn dành cho người mới bắt đầu cuối cùng này.

Bạn đang xem : get set giao nhau của python

Trong bài viết tuần trước , bạn đã biết sự khác biệt của Python set () là tất cả về. Bây giờ chúng ta sẽ khám phá một hàm tập hợp thường được sử dụng khác. Giao điểm tập hợp trong Python cho phép bạn tìm các phần tử chung giữa hai hoặc nhiều tập hợp. Nó có nhiều ứng dụng hữu ích, chẳng hạn như tìm kiếm các kỹ năng chung giữa những người xin việc.

Hôm nay bạn sẽ tìm hiểu mọi thứ về giao lộ tập hợp Python. Bạn sẽ tự tin sử dụng nó sau khi đọc bài viết.

Phần hay nhất? Bạn hoàn toàn không cần phải đọc, vì tôi đã trình bày chủ đề ở định dạng video:

Giao điểm tập hợp Python – Kiến thức cơ bản

Vậy, giao điểm tập hợp Python là gì? Đó là những gì chúng tôi sẽ trả lời trong phần này. Bạn sẽ hiểu đầy đủ về định nghĩa, cú pháp và các giá trị trả về thông qua các ví dụ trực quan.

Định nghĩa và cách sử dụng

Đặt giá trị trả về của hàm giao nhau (các) phần tử chung của hai hoặc nhiều tập hợp. Ví dụ: tôi thích viết mã bằng Python, JavaScript và PHP, và bạn sử dụng Java, Python và Ruby. Cả hai chúng tôi đều có Python chung. Chúng tôi sẽ làm việc với hai bộ trong suốt bài viết chỉ để giữ cho mọi thứ đơn giản, nhưng cùng một logic sẽ áp dụng khi giao nhau nhiều bộ hơn.

Hãy xem hai bộ sau:

Hình ảnh 1 – Hai bộ với ngôn ngữ lập trình (hình ảnh của tác giả)

Tính toán giao nhau giữa các tập hợp này có nghĩa là chúng ta sẽ nhận được một tập hợp mới với một phần tử duy nhất – Python. Tại sao? Vì đây là phần tử duy nhất chung cho cả hai tập hợp:

Hình ảnh 2 – Đặt giao điểm đang hoạt động (hình ảnh của tác giả)

Giao lộ tập hợp trong Python thường được biểu diễn bằng biểu đồ Venn. Đây là giao diện của nó:

Hình 3 – Đặt giao điểm dưới dạng biểu đồ Venn (hình ảnh của tác giả)

Chỉ có Python là chung cho cả hai tập hợp, vì vậy tôi đã đánh dấu khu vực giao nhau bằng màu xanh lam.

Phương thức giao nhau có chức năng gì trong Python và làm cách nào để bạn tìm giao điểm giữa các tập hợp? Hãy xem qua cú pháp để trả lời những câu hỏi này.

Cú pháp

  # Giao điểm của hai tập hợp
set1.intersection (set2)

# Giao nhau giữa nhiều bộ
set1.intersection (set2, set3)  

Trong đó:

  • set1 – Có thể lặp lại để tìm giao điểm từ.
  • set2 , set3 – Các tập hợp khác dùng để tính giao điểm.

Giá trị trả về < / h3>

Hàm giao nhau trả về một tập hợp mới là giao điểm giữa tập hợp đầu tiên và tất cả các tập hợp khác được truyền dưới dạng đối số – nhưng chỉ khi (các) tập hợp hoặc (các) đối tượng có thể lặp lại được chuyển cho hàm.

Nếu không có đối số nào được chuyển vào hàm traffic () , một bản sao của tập hợp sẽ được trả về.

Ví dụ về hàm giao nhau của tập hợp Python

Chúng tôi sẽ khai báo hai tập hợp, giống như trên Hình ảnh 1:

  • A : Chứa Python, JavaScript và PHP
  • B : Chứa Java, Python và Ruby

Chỉ có Python trong cả hai tập hợp, vì vậy việc tính toán giao điểm nên trả về một tập hợp mới với Python là phần tử duy nhất:

  A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}

print (f "A ∩ B = {A.intersection (B)}")  

Kết quả:

  A ∩ B = {'Python'}  

Nếu bạn không chỉ định bất kỳ tham số nào cho hàm giao nhau, bản sao của tập hợp sẽ được trả về:

  print (f "A ∩ / = {A.intersection ()}")  

Đầu ra:

  A ∩ / = {'JavaScript', 'PHP', 'Python'}  

Bạn có thể xác minh nó đã được sao chép bằng cách in địa chỉ bộ nhớ:

  A = {'Python', 'JavaScript', 'PHP'}
A_copy = A.intersection ()

print (hex (id (A)))
print (hex (id (A_copy)))  

Đầu ra:

  0x108c68e40
0x108da5ac0  

Bạn sẽ không thấy các giá trị giống hệt nhau và đó không phải là vấn đề. Điều quan trọng là chúng khác nhau, cho thấy tập hợp đã được sao chép sang một địa chỉ bộ nhớ khác.

Một câu hỏi thường được đặt ra là làm cách nào để tìm giao điểm của hai danh sách, vậy hãy trả lời ngay bây giờ.

Làm cách nào để tìm giao điểm của hai danh sách trong Python?

Danh sách là kiểu dữ liệu phổ biến nhất trong Python – nó được sử dụng ngay cả trong các trường hợp tồn tại cấu trúc dữ liệu tốt hơn. Có nhiều cách để bạn tìm giao điểm của hai danh sách. Chúng tôi sẽ đề cập đến hai điều:

  1. list_intersection () – Bằng cách sử dụng khả năng hiểu danh sách.
  2. list_intersection2 () – Bằng cách chuyển đổi một danh sách thành một tập hợp.
  def list_intersection (l1: list, l2: list) - & gt; danh sách:
    return [val cho val trong l1 nếu val trong l2]

def list_intersection2 (l1: list, l2: list) - & gt; danh sách:
    danh sách trả về (set (l1) .intersection (l2))


A = ['Python', 'JavaScript', 'PHP']
B = ['Java', 'Python', 'Ruby']

print (f "A ∩ B v1 = {list_intersection (A, B)}")
print (f "A ∩ B v2 = {list_intersection2 (A, B)}")  

Kết quả:

  A ∩ B v1 = ['Python']
A ∩ B v2 = ['Python']  

Giao điểm đặt Python bằng cách sử dụng & amp; Toán tử

Bạn không phải gọi hàm giao () mỗi lần. Thay vào đó, bạn có thể sử dụng toán tử & amp; :

  A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}

print (f "A ∩ B = {A & amp; B}")  

Kết quả:

  A ∩ B = {'Python'}  

Mọi thứ khác vẫn như cũ. Hãy nhớ rằng cả hai toán hạng phải thuộc loại được đặt để toán tử & amp; hoạt động.

Các lỗi thường gặp về giao điểm trong Python

Bạn có thể gặp lỗi khi lần đầu tiên bắt đầu làm việc với các bộ. Đây là những cách phổ biến nhưng thường dễ gỡ lỗi.

AttributeError: ‘list’ has no thuộc tính giao nhau

Đây là lỗi phổ biến nhất và nó xảy ra khi bạn gọi hàm giao điểm () trên một kiểu dữ liệu sai. Chỉ các tập hợp có chức năng này được tích hợp sẵn.

Đây là một ví dụ – một ngoại lệ được đưa ra khi bạn sử dụng danh sách:

  A = ['Python ',' JavaScript ',' PHP ']
B = ['Java', 'Python', 'Ruby']

print (f "A ∩ B = {A.intersection (B)}")  

Kết quả:

Hình ảnh 4 – Lỗi thuộc tính trên giao lộ đã đặt (hình ảnh của tác giả)

Đảm bảo rằng cả hai đều thuộc loại được đặt và bạn sẽ sẵn sàng sử dụng.

TypeError: (các) loại toán hạng không được hỗ trợ cho & amp ;: ‘set’ và ‘list’

Lỗi này xảy ra khi bạn cố gắng sử dụng ký hiệu viết tắt (ký hiệu & amp; ) trên các loại dữ liệu không hợp lệ. Cả hai toán hạng phải thuộc loại được thiết lập để ký hiệu viết tắt hoạt động. Đây là một ví dụ:

  A = {'Python', 'JavaScript', 'PHP'}
B = ['Java', 'Python', 'Ruby']

print (f "A ∩ B = {A & amp; B}")  

Kết quả:

Hình ảnh 5 – Loại lỗi trên giao lộ đã đặt (hình ảnh của tác giả)

Như bạn có thể thấy, A là một tập hợp và B là một danh sách, do đó, dấu & amp; không hoạt động.

Python Set Intersection FAQ

Bây giờ chúng ta sẽ xem xét một số câu hỏi thường gặp (FAQ) liên quan đến hàm giao nhau bộ Python.

< p> Hàm change_update () xóa các mục không được tìm thấy trong cả hai bộ (hoặc nhiều bộ). Hàm này khác với hàm traffic () vì nó loại bỏ các phần tử không mong muốn khỏi tập hợp ban đầu và không trả về bất kỳ thứ gì:

  A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}

A.intersection_update (B)
print (A)  

Đầu ra:

  {'Python'}  

Đối lập với giao điểm tập hợp Python là gì?

Điều ngược lại với giao điểm tập hợp Python là sự khác biệt đối xứng – tất cả các phần tử chỉ xuất hiện trong tập hợp đầu tiên hoặc tập hợp thứ hai, nhưng không xuất hiện trong cả hai:

  A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}

print (A.symmetric_difference (B))  

Kết quả:

  {'Ruby', 'Java', 'PHP ',' JavaScript '}  

Bạn có thể tính toán sự khác biệt đối xứng bằng cách sử dụng toán tử ^ :

  A = {'Python', 'JavaScript', 'PHP'}
B = {'Java', 'Python', 'Ruby'}

print (A ^ B)  

Kết quả:

  {'Ruby', 'Java', 'PHP', ' JavaScript '}  

Độ phức tạp về thời gian của tập hợp giao điểm trong Python là bao nhiêu?

Độ phức tạp về thời gian giao của tập hợp trong Python trên tập hợp có n phần tử và đối số tập hợp có m phần tử là O (min (n, m)) bởi vì bạn cần kiểm tra tập hợp nhỏ hơn xem mỗi phần tử của nó có phải là thành viên của tập hợp lớn hơn hay không. Kiểm tra tư cách thành viên là O (1) , theo finxter.com .

Kết luận

Bộ Python giao lộ là hoàn toàn đơn giản để hiểu. Chúng tôi đã xem xét trực giác và định nghĩa với các ví dụ trực quan và xây dựng theo cách của chúng tôi để hiểu cách sử dụng nâng cao hơn và các lỗi điển hình mà bạn sẽ gặp phải. Chúng tôi cũng đã trả lời một số câu hỏi thường gặp.

Tôi hy vọng rằng bài viết này đã giúp bạn hiểu rõ hơn về hàm giao nhau của tập hợp Python. Như mọi khi, nếu bạn có bất kỳ câu hỏi hoặc nhận xét nào, vui lòng hỏi trong phần bình luận bên dưới. Chúc bạn viết mã vui vẻ!

Tìm hiểu thêm

Giữ kết nối

  • Thuê tôi làm < span rel = "noopener ugc nofollow"> người viết kỹ thuật
  • Đăng ký trên YouTube
  • Kết nối trên LinkedIn < / li>


Xem thêm những thông tin liên quan đến chủ đề nhận đặt con trăn giao nhau

Thợ Săn Hoảng Sợ Khi Đối Đầu 3 Con Trăn Gấm Hung Dữ | Quang Cối Vlogs

alt

  • Tác giả: Quang Cối Vlogs
  • Ngày đăng: 2022-06-17
  • Đánh giá: 4 ⭐ ( 6058 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hunters Panic When Confronting 3 Violent Pythons

Các bài viết con Trăn mới nhất 2022

  • Tác giả: sukhacnhau.com
  • Đánh giá: 4 ⭐ ( 5527 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: con Trăn mới nhất 2022

Trăng trối hay trăn trối từ nào đúng chính tả Tiếng Việt

  • Tác giả: hegka.com
  • Đánh giá: 4 ⭐ ( 3256 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Gia đình hốt hoảng phát hiện 4 con trăn khổng lồ giao phối ngay trong nhà

  • Tác giả: soha.vn
  • Đánh giá: 3 ⭐ ( 5213 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 4 con trăn thảm khiến một gia đình ở Buderim, Australia hoảng sợ sau khi xâm chiếm và tìm cách giao phối ngay tại đó.

Gia đình hốt hoảng phát hiện 4 con trăn khổng lồ giao phối ngay trong nhà

  • Tác giả: baomoi.com
  • Đánh giá: 3 ⭐ ( 1412 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 4 con trăn thảm khiến một gia đình ở Buderim, Australia hoảng sợ sau khi xâm chiếm và tìm cách giao phối ngay tại đó.

Thứ Năm 23/06/2022 – SINH NHẬT THÁNH GIOAN TẨY GIẢ. Lễ Trọng. – Gioan Tiền Hô.

  • Tác giả: gplongxuyen.org
  • Đánh giá: 5 ⭐ ( 6379 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SINH NHẬT THÁNH GIOAN TẨY GIẢ. Lễ Trọng. – Giáo phận Long Xuyên

Gia đình hốt hoảng phát hiện 4 con trăn khổng lồ giao phối ngay trong nhà

  • Tác giả: vietgiaitri.com
  • Đánh giá: 4 ⭐ ( 5057 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 4 con trăn thảm khiến một gia đình ở Buderim, Australia hoảng sợ sau khi xâm chiếm và tìm cách giao phối ngay tại đó.Một gia đình ở Buderim, Queensland, Australia đã phải đối phó với 4 con trăn thảm lớn xâm chiếm ngôi nhà của họ từ sân sau

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  11 cách để căn giữa Div hoặc văn bản trong Div trong CSS - trung tâm một div css

By ads_php