最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python可變集合和不可變集合的構造方法大全

 更新時間:2021年12月06日 10:21:21   投稿:zx  
Python集合分為變集合和不可變集合兩種,本文就詳細的來介紹一下這兩種集合的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

?Python集合又是一種新的數(shù)據(jù)類型,集合有兩種形式:可變集合(set())和不可變集合(frozenset())兩種,這兩種集合操作方法比較類似,但是在底層性質(zhì)上有截然想法的區(qū)別。集合是一種無序的,不重復且不可隨機訪問的元素集合,在概念和運算上和數(shù)學中的集合類似,集合分為可變和不可變兩種。

一、對比數(shù)據(jù)類型

下面是我們學習過的一些數(shù)據(jù)類型,下面的注釋是對比這些數(shù)據(jù)類型的結果,供學習集合前的參考。

str1 = 'pythonpython'  # 不可變,有序:可以通過下標訪問
list1 = [1, 2, 3, 2]  # 可變,有序:可以通過下標訪問
tup1 = (1, 2, 3, 2)  # 不可變,有序:可以通過下標訪問
dict1 = {'name': 'Tom', 'age': 18, 'love': 'python'}  # 可變,無序:但可以通過鍵訪問

二、可變集合構造方法

1.直接構造

set2 = {'name', 19, 'python'}
print(set2, type(set2))

返回結果:

{19, 'python', 'name'} <class 'set'>

2.使用函數(shù)構造

str1 = 'pythonpython'
list1 = [1, 2, 3, 2]
tup1 = (1, 2, 3, 2)
dict1 = {'name': 'Tom', 'age': 18, 'love': 'python'}
set3 = set(str1)
print(set3, type(set3))
set4 = set(list1)
print(set4, type(set4))
set5 = set(tup1)
print(set5, type(set5))
set6 = set(dict1)
print(set6, type(set6))

返回結果:

{'t', 'n', 'p', 'o', 'h', 'y'} <class 'set'>
{1, 2, 3} <class 'set'>
{1, 2, 3} <class 'set'>
{'love', 'name', 'age'} <class 'set'>

3.使用推導式構造集合

set7 = set(i for i in range(1, 5))
print(set7, type(set7))

set8 = {i for i in list1}
print(set8, type(set8))

set8 = {i for i in tup1}
print(set8, type(set8))

返回結果:

{1, 2, 3, 4} <class 'set'>
{1, 2, 3} <class 'set'>
{1, 2, 3} <class 'set'>

三、不可變集合的構造方法

不可變集合構造(與可變集合類似,把set改為frozenset即可)。

1.使用frozenset()函數(shù)構造

set3 = frozenset(str1)
print(set3, type(set3))
set4 = frozenset(list1)
print(set4, type(set4))
set5 = frozenset(tup1)
print(set5, type(set5))
set6 = frozenset(dict1)
print(set6, type(set6))
frozenset({'p', 'n', 't', 'h', 'y', 'o'}) <class 'frozenset'>
frozenset({1, 2, 3}) <class 'frozenset'>
frozenset({1, 2, 3}) <class 'frozenset'>
frozenset({'name', 'age', 'love'}) <class 'frozenset'>

2.推導式構造

set7 = frozenset(i for i in range(1, 5))
print(set7, type(set7))

返回結果:

frozenset({1, 2, 3, 4}) <class 'frozenset'>

四、集合構造注意事項

1.集合不能想其他數(shù)據(jù)集一樣使用特有的符號來構造,集合使用的語法符號是{},和字典是一樣的,這時候直接使用{}來構造的,系統(tǒng)無法判斷數(shù)據(jù)類型是字典還是集合,會默認為集合。

set9 = {}
print(type(set9))  # 默認為字典:<class 'dict'>

正確的方法只有使用構造函數(shù)來實現(xiàn)了。

set9 = set()
set99 = frozenset()

2.集合中不能包含字典和列表這樣的可變類型元素

set10 = {'name', 19, [1, 2, 3, 2]} 

列表不可哈希:TypeError: unhashable type: 'list'

到此這篇關于Python可變集合和不可變集合的構造方法大全的文章就介紹到這了,更多相關Python可變集合和不可變集合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python創(chuàng)建exe文件的實現(xiàn)步驟

    python創(chuàng)建exe文件的實現(xiàn)步驟

    本文主要介紹了python創(chuàng)建exe文件的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-09-09
  • 詳解從Django Allauth中進行登錄改造小結

    詳解從Django Allauth中進行登錄改造小結

    這篇文章主要介紹了從 Django Allauth 中進行登錄改造小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Numpy判斷數(shù)組是否全0的三種方法

    Numpy判斷數(shù)組是否全0的三種方法

    本文介紹了三種判斷NumPy數(shù)組是否全為零的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • Python進行文件路徑處理的模塊詳解

    Python進行文件路徑處理的模塊詳解

    我相信很多人和小編一樣,從來沒有好好研究過Python的文件路徑,Python作為一個magical語言,肯定有其他更直觀的文件路徑處理方法,下面就跟隨小編一起了解一下吧
    2025-04-04
  • PyTorch的Debug指南

    PyTorch的Debug指南

    這篇文章主要介紹了PyTorch的Debug的相關資料,幫助大家更好的理解和學習使用PyTorch,感興趣的朋友可以了解下
    2021-05-05
  • 100 個 Python 小例子(練習題二)

    100 個 Python 小例子(練習題二)

    這篇文章主要繼續(xù)上一篇文章100 個 Python 小例子(練習題一)來完成100 個 Python 小例子,本文包括字母識詞、反向輸出II、表轉字符串、設置輸出顏色、算素數(shù)等例子,需要的朋友可以參考一下
    2021-10-10
  • python內(nèi)置函數(shù)map/filter/reduce詳解

    python內(nèi)置函數(shù)map/filter/reduce詳解

    在Python中,map(), filter(), 和 reduce() 是內(nèi)置的高級函數(shù)(實際是class),用于處理可迭代對象(如列表、元組等)的元素,這篇文章主要介紹了python內(nèi)置函數(shù)map/filter/reduce的相關知識,需要的朋友可以參考下
    2024-05-05
  • Python?列表和字典常踩坑即解決方案

    Python?列表和字典常踩坑即解決方案

    這篇文章介紹了?Python?列表和字典常踩坑即解決方案,主要針對python列表和字典得一些問題,提出了多種解決方案。需要的小伙伴可以參考一下
    2022-05-05
  • Python實用庫 PrettyTable 學習筆記

    Python實用庫 PrettyTable 學習筆記

    這篇文章主要介紹了Python實用庫 PrettyTable 學習筆記,結合實例形式分析了Python表格操作庫PrettyTable的安裝、使用技巧與相關注意事項,需要的朋友可以參考下
    2019-08-08
  • Python函數(shù)元數(shù)據(jù)實現(xiàn)為一個參數(shù)指定多個類型

    Python函數(shù)元數(shù)據(jù)實現(xiàn)為一個參數(shù)指定多個類型

    這篇文章主要介紹了Python函數(shù)元數(shù)據(jù)實現(xiàn)為一個參數(shù)指定多個類型方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論

崇义县| 洮南市| 武强县| 普兰县| 辽中县| 平舆县| 澄城县| 泰兴市| 巴东县| 丁青县| 高邑县| 鄯善县| 临夏市| 巴彦淖尔市| 玉屏| 南和县| 农安县| 扎兰屯市| 那坡县| 罗平县| 桐梓县| 璧山县| 剑河县| 沂南县| 庄河市| 贺兰县| 青岛市| 集贤县| 青海省| 揭西县| 濉溪县| 化隆| 昆明市| 余江县| 登封市| 彭泽县| 深州市| 平罗县| 阿拉善左旗| 彰武县| 苍山县|