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

Python可變集合和不可變集合的構(gòu)造方法大全

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

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

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

下面是我們學(xué)習(xí)過(guò)的一些數(shù)據(jù)類型,下面的注釋是對(duì)比這些數(shù)據(jù)類型的結(jié)果,供學(xué)習(xí)集合前的參考。

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

二、可變集合構(gòu)造方法

1.直接構(gòu)造

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

返回結(jié)果:

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

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

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))

返回結(jié)果:

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

3.使用推導(dǎo)式構(gòu)造集合

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))

返回結(jié)果:

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

三、不可變集合的構(gòu)造方法

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

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

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.推導(dǎo)式構(gòu)造

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

返回結(jié)果:

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

四、集合構(gòu)造注意事項(xiàng)

1.集合不能想其他數(shù)據(jù)集一樣使用特有的符號(hào)來(lái)構(gòu)造,集合使用的語(yǔ)法符號(hào)是{},和字典是一樣的,這時(shí)候直接使用{}來(lái)構(gòu)造的,系統(tǒng)無(wú)法判斷數(shù)據(jù)類型是字典還是集合,會(huì)默認(rèn)為集合。

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

正確的方法只有使用構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)了。

set9 = set()
set99 = frozenset()

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

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

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

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

相關(guān)文章

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

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

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

    詳解從Django Allauth中進(jìn)行登錄改造小結(jié)

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

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

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

    Python進(jìn)行文件路徑處理的模塊詳解

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

    PyTorch的Debug指南

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

    100 個(gè) Python 小例子(練習(xí)題二)

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

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

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

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

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

    Python實(shí)用庫(kù) PrettyTable 學(xué)習(xí)筆記

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

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

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

最新評(píng)論

高平市| 新余市| 车致| 河北区| 乐安县| 荆州市| 龙里县| 金沙县| 霍林郭勒市| 商河县| 和田县| 吉木萨尔县| 商河县| 湘潭县| 仙居县| 含山县| 宁化县| 苏尼特左旗| 乌拉特中旗| 广宗县| 涞水县| 屏边| 崇文区| 前郭尔| 宜章县| 吉林市| 台北县| 九龙坡区| 阳江市| 廊坊市| 江孜县| 云霄县| 江口县| 阿拉善左旗| 普安县| 陈巴尔虎旗| 阿克陶县| 湛江市| 大英县| 荃湾区| 建始县|