/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Học Python Qua Ví Dụ #020 - Set Trong Python

 Các hành động trong Set:

Toán Tử

Ký Hiệu

Mô Tả

Union

|

Kết hợp/ lấy tất cả các Set

Intersection

&

Chỉ lấy phần giao nhau

Symmetric Difference

^

KHÔNG lấy phần giao nhau

Difference

-

Chỉ lấy phần TỒN TẠI set_1 mà không tồn tại ở set_2


Hình các hành động trong Set

Ví dụ:
Code:
'''
Có 3 list được định nghĩa với các IP như dưới

Yêu cầu: Dùng các hành động của Set để tìm các IP trùng nhau giữa:
1. Hà Nội và Đà Nẵng
2. Hà Nội và Hồ Chí Minh
3. Tất cả các site
4. Lấy IP của Hồ Chí Minh mà không trung với bất kỳ site nào
'''

HaNoi_ips = [
    "10.10.10.1",
    "10.10.20.1",
    "10.10.30.1",
    "10.10.40.1",
    "10.10.50.1",
    "10.10.60.1",
    "10.10.70.1",
    "10.10.80.1",
    "10.10.10.1",
    "10.10.20.1",
    "10.10.70.1",
]

DaNang_ips = [
    "10.10.10.1",
    "10.10.20.1",
    "10.10.30.1",
    "10.10.140.1",
    "10.10.150.1",
    "10.10.160.1",
    "10.10.170.1",
    "10.10.180.1",
]

HoChiMinh_ips = [
    "10.10.10.1",
    "10.10.20.1",
    "10.10.140.1",
    "10.10.150.1",
    "10.10.210.1",
    "10.10.220.1",
    "10.10.230.1",
    "10.10.240.1",
]

HaNoi_ips = set(HaNoi_ips)
DaNang_ips = set(DaNang_ips)
HoChiMinh_ips = set(HoChiMinh_ips)

# 1. Hà Nội và Đà Nẵng (Dùng set intersection)
print()
print("-" * 80)
print(
    "Duplicate IPs Ha Noi va Da Nang:\n\n{}".format(
        HaNoi_ips & DaNang_ips
    )
)
print("-" * 80)

# 2. Hà Nội và Hồ Chí Minh (Dùng set intersection)
print()
print("-" * 80)
print(
    "Duplicate IPs Ha Noi va Ho Chi Minh:\n\n{}".format(
        HaNoi_ips & HoChiMinh_ips
    )
)
print("-" * 80)

# 3. Tất cả các site
print()
print("-" * 80)
print(
    "Duplicate IPs tat ca cac sites:\n\n{}".format(
        HaNoi_ips & DaNang_ips & HoChiMinh_ips
    )
)
print("-" * 80)

# 4. Lấy IP của Hồ Chí Minh mà không trung với bất kỳ site nào
print()
print("-" * 80)
print(
    "Ho Chi Minh IP addresses difference:\n\n{}".format(
        HoChiMinh_ips.difference(HaNoi_ips).difference(DaNang_ips)      
    )
)

# HOẶC
print()
print("-" * 80)
print(
    "Ho Chi Minh IP addresses '-':\n\n{}".format(
        HoChiMinh_ips - DaNang_ips - HaNoi_ips
    )
)
print("-" * 80)
print()


Kết quả
C:\python>python Demo.py

--------------------------------------------------------------------------------
Duplicate IPs Ha Noi va Da Nang:

{'10.10.20.1', '10.10.10.1', '10.10.30.1'}
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Duplicate IPs Ha Noi va Ho Chi Minh:

{'10.10.20.1', '10.10.10.1'}
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Duplicate IPs tat ca cac sites:

{'10.10.20.1', '10.10.10.1'}
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Ho Chi Minh IP addresses difference:

{'10.10.230.1', '10.10.210.1', '10.10.240.1', '10.10.220.1'}

--------------------------------------------------------------------------------
Ho Chi Minh IP addresses '-':

{'10.10.230.1', '10.10.210.1', '10.10.240.1', '10.10.220.1'}
--------------------------------------------------------------------------------


C:\python>

Xong!

No comments:

Post a Comment

/*header slide*/