Python數據類型詳解——集合

Python數據類型詳解——集合

1、定義

集合跟列表有點像,也是能夠存一堆數據的,不過它有幾個獨特的特色:python

一、集合裏的元素不可變,即不能再集合裏存儲列表(list)、字典(dict)。字符串、數字、元組等不可變類型能夠存儲再集合中。code

二、天生去重,即在集合裏不會出現重複元素,就算你故意寫入重複元素,集合也會自動去掉重複的,只保留一個。blog

三、無序,集合中的元素沒有前後之分。rem

2、語法

一、建立集合字符串

a = {2, 321, 'Kwan', 1, '小明', 'Kwan', 321}

二、幫助列表去重class

將列表轉換成集合,再轉回列表,便可實現列表的去重數據類型

a = ['Kwan', 'Kwan', 21, 21, '小明']
a = list(set(a))    # 先轉換成集合,再轉換成列表

3、增刪查改操做

a = {'Kwan', 21, 'male', 'LL', 43}

# 增
a.add('Kobe')

# 刪
a.discard('male')   # 用discard()方法,刪除指定的元素,若指定元素不存在,則do nothing
a.pop()             # 用pop()方法,隨即刪除一個元素並返回這個元素
a.remove('LL')      # 用remove()方法,同discard

# 查
if 'Kwan' in a:     # 用in方法
    pass

# 改(沒有改這個操做,集合不能改)

4、關係運算

a1 = {'Kwan', '小明', 'LL', 'PP', 'Kobe'}
a2 = {'小明', 'LL', 'Alice', 'Jack', 'Neal'}
print(a1 & a2)      # &交集運算

print(a1 | a2)      # |並集運算

print(a1 - a2)      # -差集運算
print(a2 - a1)

print(a1 ^ a2)      # ^對稱差集運算

print(a1.isdisjoint(a2))    # 判斷兩個集合是否是相交的,返回True或者False
print(a1.issubset(a2))      # 判斷a1是否是a2的子集,返回True或者False
print(a1.issuperset(a2))    # 判斷a1是否是a2的父集,返回True或者False
相關文章
相關標籤/搜索