<strike id="rrvnz"></strike>

    <noframes id="rrvnz">
    <noframes id="rrvnz"><span id="rrvnz"><pre id="rrvnz"></pre></span><address id="rrvnz"></address>
    <address id="rrvnz"><nobr id="rrvnz"></nobr></address><noframes id="rrvnz">
      <em id="rrvnz"></em>

        首 頁IT知識庫翔宇問吧收藏內容
        當前位置:翔宇亭IT樂園IT知識庫Python

        Python中的集合操作與集合運算

        減小字體 增大字體 作者:本站  來源:本站整理  發布時間:2020-07-11 20:16:48

        Python中的集合是一種無序的,無重復值的數據結構類型。Python中的集合可以用來檢測元素檢測或消除重復的元素。

        一、python 集合概述

        (1)Python中的集合元素是無序的,即元素沒有順序問題,也不能像數組、列表、字符串那樣使用索引來訪問某個元素;

        (2)各元素的順序也并不是定義時的順序;

        (3)Python中集合的每個元素都是不同的,即使你定義了相同的元素,其在使用時也會自動消除,利用集合這一特點可以去除重復值;

        (4)Python中的集合使用{}或set()來定義;

        (5)如果定義一個空集只能使用set()來定義,不能使用{}定義,原因是{}用于定義詞典的空值;

        (6)集合是值可變類型,所以可以對其元素值進行增,刪操作;

        二、定義集合

        Python中可以使用一對英文半角的花括號來定義一個集合,各元素的值使用英文半角的逗號進行分隔;也可以使用其內置函數set()來定義一個集合。下面是定義集合的幾個例子:

        >>> set1 = {1, 2, 5, 3}  
        >>> print(set1# 注意輸出順序
        {1, 2, 3, 5}
        >>> set2 = {1, 3, 'A', 'Python'# 集合元素可以是不同類型
        >>> print(set2)
        {1, 2, 'Python', 'A'}
        >>> set3 = {1, 4, 1, 5}  # 有重復值現象
        >>> print(set3# 注意輸出情況
        {1, 4, 5}
        >>> set4 = set()  # 定義一個空集
        >>> print(set4)
        set()
        >>> set5 = set(['python', 'R', 'Java'])
        >>> print(set5)
        {'R', 'python', 'Java'}
        >>> set6 = set("ABE")
        >>> print(set6)
        {'E', 'B', 'A'}
        >>> 

        三、集合元素的訪問

        由于集合是無序且無索引的,不能像列表、數組等那樣使用索引來訪問它的元素,但是我們可以使用 for 循環來迭代訪問其元素或通過 in 運算符判斷集合中是否存在某個元素。

        colors = {'Red', 'Yellow', 'White', 'Blue', 'Green'}
        for cl in colors:
            print(cl, end = ' ')

        print('\n')
        print('Pink' in colors)
        print('Blue' in colors)
        print('White' in colors)

        輸出結果:

        White Green Yellow Blue Red

        False
        True
        True

        四、修改集合

        1、新增元素

        我們可以使用add()函數為集合添加一個元素,也可以使用update()函數向集合中添加多個元素。

        fruits = {"apple", "pear", "cherry"}
        print("原集合:", fruits)
        fruits.add("lemon"# add 方法每次只能添加一個元素
        print("增加1個后:", fruits)
        fruits.update(["lichee", "blueberry", "banana"])  # 此處可以是列表或一個集合形式
        print("增加多個后:", fruits)

        輸出結果:

        原集合: {'cherry', 'pear', 'apple'}
        增加1個后: {'lemon', 'cherry', 'pear', 'apple'}
        增加多個后: {'cherry', 'banana', 'pear', 'apple', 'blueberry', 'lemon', 'lichee'}
        2、從集合中移除元素

        我們可以使用 remove()函數、discard()函數、clear()函數、pop()函數來刪除集合中的元素,也可以使用del命令刪除集合的定義。

        fruits = {"apple", "cherry", "lemon", "pear", "lichee"}
        print(fruits)
        fruits.remove("pear"# 使用remove從集合中移除特定元素
        print(fruits) # {'lemon', 'apple', 'lichee', 'cherry'}
        fruits.discard("apple"# 使用discard從集合中刪除特定元素
        print(fruits) # {'lemon', 'lichee', 'cherry'}
        fruits.pop()  # 從集合中移除最頂端的元素
        print(fruits) # {'lichee', 'cherry'}
        fruits.clear() # 清空集合中的所有元素
        print(fruits)
        del fruits  # 刪除fruits的定義
        print(fruits# 將會引發NameError錯誤 

        輸出結果:

        {'lemon', 'apple', 'lichee', 'cherry', 'pear'}
        {'lemon', 'apple', 'lichee', 'cherry'}
        {'lemon', 'lichee', 'cherry'}
        {'lichee', 'cherry'}
        set()
        Traceback (most recent call last):
            File "D:/python/PyTrain/testcode/sets.py", line 29, in <module>
                print(fruits)
        NameError: name 'fruits' is not defined

        Python沒有提供直接修改特定值的操作,這也是由于集合無序且無索引造成的,但是我們可以使用其他方法來達到這樣的目的,比如先刪除后增加等,本站將在以后專門寫文章來說明具體的操作技巧。

        五、集合運算符

        Python提供了簡單方便的運算符可以實現集合的并、交、差和對稱差的運算。

        1、集合的并運算

        使用 | 運算符可以實現兩個集合的并運算。集合A和集合B并運算的結果中的元素是由或者屬于集合A或者屬于集合B的元素構成的,簡單說把集合A中的元素和集合B中的元素放在一起,然后去除重復的就是并運算的結果。

        A = {1, 3, 7}
        B = {4, 6, 7, 8}
        R = A | B
        print("A | B=", R)

        輸出結果:

        A | B= {1, 3, 4, 6, 7, 8}2、集合的交運算

        集合A與集合B的交運算的結果是由既屬于集合A又屬于集合B的元素構成的。就是兩個集合的公共元素。在Python中使用 & 運算符可以求兩個集合的并運算。

        A = {1, 3, 7}
        B = {4, 6, 7, 8}
        R = A & B
        print("A & B=", R)

        輸出結果:

        A & B= {7}

        3、集合的差運算

        集合A與集合B的差運算結果是由屬于集合A而不屬于集合B的元素構成的。就是A中有而B中沒有的元素。在Python中可以使用 - 來進行集合的差運算。

        A = {1, 3, 7}
        B = {4, 6, 7, 8}
        R = A - B
        print("A - B=", R)

        運算結果:

        A - B= {1, 3}4、集合的對稱差運算

        集合A與集合B的對稱差運算結果是由屬于集合A或屬于集合B但不能是共同擁有的元素構成的。即A和B的并集去除交集后的結果。在Python中使用 ^ 運算符可以求兩個集合的對稱差集。

        A = {1, 3, 7}
        B = {4, 6, 7, 8}
        R = A ^ B
        print("A ^ B=", R)

        輸出結果:

        A ^ B= {1, 3, 4, 6, 8}Python也提供了相關的函數可以實現以上各種運算,關于集合的相關函數的使用方法,本站將在以后陸續進行介紹。

        關于集合的內容暫時就介紹這么多,如果內容有誤,請留言評論。

        Python中的集合與集合運算


        如需轉載,請注明出處和本文鏈接地址:翔宇亭IT樂園(http://www.sunyaoshi.com)

        本文鏈接地址:http://www.sunyaoshi.com/article/python/2020/6479.html

        知識評論評論內容只代表網友觀點,與本站立場無關!

           評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論
        愿您的精彩評論引起共鳴,帶來思考和價值。
        用戶名: 查看更多評論
        分 值:100分 90分 80分 70分 60分 40分 20分
        內 容:
        驗證碼:
        關于本站 | 網站幫助 | 廣告合作 | 網站聲明 | 友情連接 | 網站地圖
        本站部分內容來自互聯網,如有侵權,請來信告之,謝謝!
        Copyright © 2007-2020 biye5u.com. All Rights Reserved.
        特黄特色三级在线观看 - 视频 - 在线观看 - 影视资讯 -心晴网