如何在python項目中使用set集合?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
站在用戶的角度思考問題,與客戶深入溝通,找到揭東網(wǎng)站設(shè)計與揭東網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋揭東地區(qū)。定義
定義:在{}中用逗號隔開,集合具備以下3個特點:
1.每個元素必須是不可變類型
2.集合內(nèi)沒有重復(fù)元素
3.集合內(nèi)元素?zé)o序
my_set = {1, 2, 3, 4} # 本質(zhì)上 my_set = set({1, 2, 3, 4}) # 注意1:列表是索引對應(yīng)值,字典是key對應(yīng)值,均可以取得單個值. # 而集合類型既沒有索引也沒有key值相對應(yīng),所以無法取得單個的值.對集合來說 # 主要功能在于去重與關(guān)系元素,沒有取出單個值的需求 # 注意2:{}既被用于定義字典也被用于定義集合.但是字典內(nèi)的元素必須以key:value的形式. # 如何準(zhǔn)確的定義一個空集合? my_set = {} print(type(my_set)) my_set = set() print(type(my_set))>>>
類型轉(zhuǎn)換
但凡能被for循環(huán)遍歷輸出的值(輸出的值不能為可變數(shù)據(jù)類型)
my_set = set([1, 2, 3, 4, 5]) >>>{1, 2, 3, 4, 5} my_set = set('string') >>>{'t', 's', 'g', 'i', 'r', 'n'} my_set = set((1, 2, 3, 4, 1)) >>>{1, 2, 3, 4} my_set = set({'name':'yyh'}) >>>{'name'}
關(guān)系運算
friends1 = {'Albert', 'Tony', 'John', 'Egon', 'Sean'} friends2 = {'Sean', 'Sor', 'Egon'} print(friends1 | friends2) # 求合集 print(friends1 & friends2) # 求交集 print(friends1 - friends2) # 求差集 friends1中獨有的 print(friends2 - friends1) # 求差集 friends2中獨有的 print(friends1 ^ friends2) # 對稱差集(去掉共有的好友后的合集) print(friends1 == friends2) # 集合是否相等 print({1, 2, 3} >= {1, 2, 3}) # 包含關(guān)系 print({1, 2, 3} > {1, 2}) # 真包含關(guān)系 print({1, 2} < {1, 2, 3}) # 真子集 print({1, 2, 3} <= {1, 2, 3}) # 子集
去重
# 集合去重復(fù)有局限性,僅適用于不可變數(shù)據(jù)類型 # 集合本身是無序的, 去重之后無法保留原來的順序 my_list = ['a', 'b', 1, 'a', 'b'] my_set = set(my_list) # 列表轉(zhuǎn)集合 print(my_set) my_list = list(my_set) # 集合轉(zhuǎn)列表 print(my_list) # 去除了重復(fù),但是打亂了順序
# 針對可變類型,并且保證順序則需要自己寫代碼實現(xiàn) my_list = [ {'name': 'lili', 'age': 18, 'sex': 'male'}, {'name': 'jack', 'age': 73, 'sex': 'male'}, {'name': 'tom', 'age': 20, 'sex': 'female'}, {'name': 'lili', 'age': 18, 'sex': 'male'}, {'name': 'lili', 'age': 18, 'sex': 'male'}, ] new_list = [] for i in my_list: if i not in new_list: new_list.append(i) print(new_list)
練習(xí)
pythons = {'jason', 'egon', 'kevin', 'ricky', 'gangdan', 'biubiu'} linuxs = {'kermit', 'tony', 'gangdan'} print(f'即報名了python又報名了linux的學(xué)員有{pythons & linuxs}') print(f'所有報名的學(xué)員{pythons | linuxs}') print(f'只報名了python的學(xué)員{pythons - linuxs}') print(f'只報名了其中一門的學(xué)員{pythons ^ linuxs}')
關(guān)于如何在python項目中使用set集合問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。