亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

python基礎之元組函數(11)

系統 2072 0

元組:
一組有序數據的組合。元組不可以修改。
元組的定義:

  • 空元組:

    • 變量 = () 或者 變量= tuple()
  • 單個元素的元組
    變量 = (值,)

  • 具有多個數據的元組

    • 變量 = (值,值…) 或者 變量 = tuple(容器數據)
      基本操作:

只可以使用索引訪問元組,不可以進行其他操作。
tuple1=(“你”,“我”,“他”,(“你得”,“我的”))
print(tuple1[3][1])
分片: 操作和列表一致。

tuple1=(“你”,“我”,“他”,(“你得”,“我的”))
print(tuple1[0:2:2])
常用函數
max() 獲取元組中的最大值
min() 獲取元組中的最小值
len() 獲取元組的長度
tuple() 創建元組或者將其他數據轉化為元組
元組的遍歷: 同列表一樣,嵌套元組和嵌套列表也一致

tuple1=(“你”,“我”,“他”,(“你得”,“我的”))
for name in tuple1:
for i in name:
print(i)
元組推導式:

元組推導式的結果不是元組,而是生成器(生成器需要操作才會得到結果)
語法同列表推導式一樣
基本推導式: 結果變量 = (變量 for 變量 in 元組)

from collections import Iterator
res=(i*i for i in range(6))
print(res,type(res))
print(isinstance(res,Iterator))
print(next(res))
print(next(res))
print(next(res))
print(next(res))

for i in res:
print(i)

print(tuple(res))

元組除了不能修改和刪除,其他的和列表相關操作一模一樣,
元組函數可以使用 index 和 count,只能是元組相關的獲取操作
比如更改,刪除,排序,翻轉,清空都不可以
tuple=(1,2,3,4,5)
res=tuple.index(2)
print(res)

tuple=(1,2,3,4,5,2,2)
res=tuple.count(2)
print(res)
元組推導式是生成器(generator)
定義:生成器是特殊的迭代器,可以自定義.按照某種算法推算下一個數據,只需往內存里存一個生成器,節省空間
語法:(1)里面是推導式,外面是()的是生成器
(2)含有yield關鍵字的函數是生成器函數,它可以返回一個迭代器,換句話說,生成器是一個返回迭代器的函數。
def func():
yield 1
print(“一次”)
yield 2
print(“二次”)
yield 3
print(“三次”)
res=func()
print(next(res))
print(next(res))
print(next(res))

for i in res:
print(i)

print(tuple(res))
yield 有點像 return
共同點在于:執行到這句話會把值返回出去
不同點在于:再次執行生成器時會從上一次yield執行的位置繼續向下走,它會記住上一次離開時的狀態.
每次返回,都會記住當前代碼執行的位置,再次調用的時候會從上次位置繼續向下執行
集合
確定的一組無序數據的組合。

特征:
1.由多個數據組成的復合型數據(容器類數據) 2.集合是沒有順序的

集合的操作:

1.創建集合

空集合 變量 = set()

具有多個數據的集合 變量 = {數據,數據,數據…}

1.集合創建時如果存在相同的數據,集合會只保留一份。

2.集合可以存放的數據類型有Number,String,Tuple,冰凍集合類型

集合沒有添加,獲取,刪除及修改的【基本操作】!

集合的序列操作:由于集合數據比較特殊,集合操作非常少

成員檢測
in
數據 in 集合

            
                  not in
        數據 not in 集合

            
          

集合的序列函數:
len() 檢測容器的長度

            
              max()   獲取容器中的最大值

min()  獲取容器中的最小值

set()   創建空集合或者將其他數據類型轉換為集合

            
          

集合的遍歷操作: 只能使用for…in 來遍歷集合
set={1,2,4,5,6,8,10}
for i in set:
print(i)
集合的推導式/集合內涵:
普通的集合推導式: 變量 = {變量 for 變量 in 集合}
res={i 2 for i in {1,2,3,4}}
print(res)
帶有判斷條件的集合推導式
變量 = {變量 for 變量 in 集合 if 條件表達式}
res={i
2 for i in {1,2,3,4,5,9,10} if i%2==0}
print(res)
多循環的集合推導式:
變量 = {變量1和變量2的操作 for 變量1 in 容器 for 變量2 in 容器}
res={i*j for i in range(1,5) for j in range(2,3)}
print(res)
帶有判斷條件的多循環推導式:
變量 = {變量1和變量2的操作 for 變量1 in 容器 for 變量2 in 容器 if 條件表達式}
集合專用的函數:

            
              add()   向集合中添加一個元素/數據
    格式:集合.add(數據)
    返回值:None
    注意:操作直接修改原有集合。

            
          

set1={1,2,3,4,5,6}
set1.add(7)
print(set1)

            
              pop()   隨機刪除集合中的一個元素/數據
    格式:集合.pop()
    返回值:隨機刪除的數據
    注意:操作直接修改原有集合。

            
          

set1={1,2,3,4,5,6}
set1.pop()
print(set1)

            
              remove()    刪除指定的數據,數據不存在會報錯
    格式:集合.remove(數據)
    返回值:None
    注意:操作直接修改原有集合。

            
          

set1={1,2,3,4,5,6}
set1.remove(1)
print(set1)

            
              discard()  刪除指定的數據,數據不存在不進行操作
    格式:集合.discard(數據)
    返回值:None
    注意:操作直接修改原有集合。

            
          

set1={1,2,3,4,5,6}
set1.discard(1)
print(set1)

            
              clear() 清空集合
    格式:集合.clear()
    返回值:None
    注意:操作直接修改原有集合。

            
          

set1={1,2,3,4,5,6}
set1.clear()
print(set1)

            
              copy()  復制集合
    格式:集合.copy()
    返回值:None
    注意:復制的集合和原集合內容一樣,但是不是一個集合

            
          

set1={1,2,3,4,5,6}
set2=set1.copy()
set1.add(7)
print(set1)
print(set2)

            
              #集合運算符:
& 交集

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set1&set2
print(res)

            
              | 并集

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set1|set2
print(res)

            
              - 差集

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set1-set2
print(res)

            
              ^ 對稱差集

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set1^set2
print(res)

            
              #集合運算函數:
差集:difference()  *
格式:集合1.difference(集合2)
返回值:差集的集合

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set2.difference(set1)
print(res)

            
              更新差集:difference_update()
格式:集合1.difference_update(集合2)
返回值:None
注意:所謂更新差集,就是計算差集之后將結果重新賦值給第一個集合的變量而已

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
set2.difference_update(set1)
print(set2)

            
              交集:intersection()
格式:集合1.intersection(集合2)
返回值:交集的集合

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set2.intersection(set1)
print(res)

            
              更新交集:intersection_update()
格式:集合1.intersection_update(集合2)
返回值:None
注意:更新交集,就是計算交集之后將結果重新賦值給第一個集合的變量

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
set2.intersection_update(set1)
print(set2)

            
              并集:union()
格式:集合1.union(集合2)
返回值:并集結果

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set2.union(set1)
print(res)

            
              更新并集:update()
格式:集合1.update(集合2)
返回值:None
注意:更新并集,就是計算并集之后將結果重新賦值給第一個集合的變量

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
set2.update(set1)
print(set2)

            
              對稱差集:symmetric_difference()
格式:集合1.symmetric_difference(集合2)
返回值:對稱差集的集合

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set2.symmetric_difference(set1)
print(res)

            
              更新對稱差集運算:symmetric_difference_update()
格式:集合1.symmetric_difference_update(集合2)
返回值:None
注意:計算對稱差集的結果直接更新到集合1的變量當中

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
set2.symmetric_difference_update(set1)
print(set2)

            
              檢測是否是超集:issuperset()
格式:集合1.issuperset(集合2)
返回值:布爾值

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set2.issuperset(set1)
print(res)

            
              檢測是否是子集:issubset()
格式:集合1.issubset(集合2)
返回值:布爾值

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set2.issubset(set1)
print(res)

            
              檢測是否不相交的函數: isdisjoint()
格式:集合1.isdisjoint(集合2)
返回值:布爾值
注意:集合不相交結果為True,集合相交,結果為False

            
          

set1={1,2,3,4,5,6}
set2={3,4,5,6,7,9,10}
res=set2.isdijoint(set1)
print(res)

冰凍集合/固定集合:一旦創建就不可以進行修改的集合。一種數據類型。

如果把集合比作列表,冰凍集合就是元組。

#創建冰凍集合
空的冰凍集合:
變量 = frozenset()

創建具有數據的冰凍集合
變量 = frozenset(容器數據)

冰凍集合的作用:
為集合的操作提供一個不可以改變的對照集合。

冰凍集合除了不能修改之外,其余和集合一樣!

copy() 可以使用
difference() 差集 可以使用
difference_update() 更新差集 不可以使用
intersection() 交集 可以使用
intersection_update()更新交集 不可以使用
union() 并集 可以使用
update()更新并集 不可以使用
issuperset() 檢測超集 可以使用
issubset() 檢測子集 可以使用
isdisjoint() 檢測是否不相交 可以使用
symmetric_difference()可以使用(對稱差集)
symmetric_difference_update()不可以使用(更新對稱差集)

list1 = [“小王”,“小八”,“小霸王”,“小鳥”]
set1 = frozenset(list1)
set2 = frozenset((“小霸王”,“孫策”,“霸王”,“項羽”))
res = set1.intersection(set2)
print(res)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 伊人久久大杳蕉综合大象 | 亚洲成人免费在线视频 | 日日网| 不卡在线视频 | 亚洲日韩在线视频 | 久操久操久操 | 亚洲精品一区二区在线播放 | 欧美操穴| 中文一区 | 五月婷婷狠狠 | 97超视频在线观看 | 日日骚 | 99re6久精品国产首页 | 国产免费一区二区在线看 | 一个色综合亚洲色综合 | 97视频在线观看免费视频 | 天天综合日日噜噜噜 | 欧美色欧美亚洲高清在线视频 | 色老头成人免费视频天天综合 | 日本精品中文字幕在线不卡 | 亚洲最大成人在线 | 久久国产精品国产自线拍免费 | 可以看美女隐私的网站 | 亚洲国产成人久久精品影视 | 97在线视| 老司机午夜在线视频免费 | 久久riav国产精品 | 亚洲 欧美 精品 中文第三 | 亚洲第一综合色 | a毛片在线还看免费网站 | 在线欧美精品一区二区三区 | 国产精品美女久久久久久 | 午夜特级毛片 | 在线观看欧美精品 | 国产色综合天天综合网 | 婷婷在线视频 | 最新中文字幕在线播放 | 亚洲国产99999在线精品一区 | 嫩草影院麻豆久久视频 | 欧美日韩三区 | 国产成人aa免费视频 |