日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python集合类型变量_Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】...

發布時間:2023/12/15 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python集合类型变量_Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、變量

變量的作用:記錄狀態的變化

變量的值:描述不同的狀態

二、五大基本數據類型的分類

五大基本數據類型(數字 字符串 列表 元祖 字典)

按照可變不可變來進行分類

可變:列表、字典

不可變:字符串、數字、元祖

我個人理解,所謂可變,是指當修改內容是,內容改變,地址不變。(即新修改的內容可以覆蓋之前的內容即為可變)

按照訪問順序來進行分類

直接訪問:數字

順序訪問:字符串、列表、元祖

映射訪問:字典

按照存放元素的個數來進行分類

容器類型:列表、元祖、字典

原子類型:數字、字符串

三、基本數據類型補充——集合(set)

set集合,是一個無序且不重復的元素集合

定義:

不同元素組成

無序

集合中的元素必須是不可變類型(字符串、數字、元祖)

集合的創建:

可以使用大括號 { } 或者 set() 函數創建集合

注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。

創建格式:

S = {value1,value2,...}

或者

set(value)

#集合的創建(第二個集合在打印過程中自動去除重復元素)

s1 = set('hello')

s2= {123,'alex','xhg','alex'}print(s1,s2 )#執行結果

{'h', 'l', 'e', 'o'}

{'alex', 'xhg', 123}

集合的功能

1.add

Add an element to a set.

This has no effect if the element is already present.

#當添加的元素原集合中不存在時,無應答

s1 = {123,'alex','xhg'}

s1.add('lb')print(s1 )#執行結果

{'alex', 123, 'lb', 'xhg'}#當添加的元素原集合中存在時

s1 = {123,'alex','xhg'}

s1.add('alex')print(s1 )#執行結果

{'alex', 123, 'xhg'}

2.clear

Remove all elements from this set.

s1 = {123,'alex','xhg',('lucy',888),'pyh'}

s1.clear()print(s1)#執行結果

set()

3.copy

Return a shallow copy of a set.

s1= {123,'alex','xhg'}

s2=s1.copy()print(s2)#執行結果

{'xhg', 123, 'alex'}

4.difference

從數學角度來講,就是求差集(但是各自集合元素并未發生變化)

Return the difference of two or more sets as a new set.

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'alex',888,'','lb','math'}print(s1.difference(s2))#s1集合里不同于s2集合里的元素(最終輸出的元素是s1集合里的元素)#執行結果

{123, 'xhg', (), 'english'}print(s2.difference(s1))#s2集合里不同于s1集合里的元素(最終輸出的元素是s2集合里的元素)#執行結果

{'lb', 'math'}

求差集還可以用符號來表示:

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'alex',888,'','lb','math'}print(s1 -s2)print(s2 -s1)#執行結果

{123, 'xhg', (), 'english'}

{'math', 'lb'}

5.difference_update

求差集之后對集合做更新

Remove all elements of another set from this set.

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'alex',888,'','lb','math'}print(s1.difference_update(s2))print(s1)print(s2)#執行結果

None

{'english', 'xhg', (), 123}

{'', 'math', 'lb', 888, 'alex'}#從執行結果中,我們可以看出來 s1.difference_update(s2) 是將s1集合中同s2集合中元素相同的移除,s1集合內元素進行了更新

6.discard

刪除目標集合中的指定元素,若該元素不存在,則不會報錯

Remove an element from a set if it is a member.

If the element is not a member, do nothing.

s1 = {'alex',888,'','lb','math'}

s1.discard('alex')print(s1)#執行結果

{'', 'lb', 888, 'math'}

7.intersection

從數學角度來講,就是求交集(但是各自集合元素并未發生變化)

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'alex',888,'','lb','math'}print(s1.intersection(s2)) #求集合 s1 與集合 s2 共有的元素

#執行結果

{'', 'alex', 888}

求交集還可以用符號來表示:

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'alex',888,'','lb','math'}print(s1 & s2)

8.intersection_update

(同difference_update)

求交集之后對集合做一個更新

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'alex',888,'','lb','math'}

s1.intersection_update(s2)print(s1,s2)#執行結果

{'', 888, 'alex'}

{'', 'math', 888, 'lb', 'alex'}#從執行結果中,我們可以看出來 s1.intersection_update(s2) 是將s1集合s2集合中元素相同的更新放入s1集合

9.isdisjoint

比較兩個集合是否有共有元素,如果沒有的話返回 True,否則返回 False

Return True if two sets have a null intersection.

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'lb','math'}print(s1.isdisjoint(s2))#執行結果

True

10.issubset

判斷一個集合是否為另一集合的子集

Report whether another set contains this set.

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'xhg',888,'english'}print(s2.issubset(s1))#判斷集合s2是否為集合s1的子集

#執行結果

True

11.issuperset

判斷一個集合是否為另一集合的父集

s1 = {123,'alex','xhg',888,'english',(),''}

s2= {'xhg',888,'english'}print(s1.issuperset(s2))#判斷集合s1是否為集合s2的父集

#執行結果

True

12.pop

隨機刪除集合中的元素

Remove and return an arbitrary set element.

Raises KeyError if the set is empty.

s1 = {123,'alex','xhg',888,9}

s1.pop()print(s1)

13.remove

刪除目標集合中的指定元素,若該元素不存在,則會報錯(所以通常刪除集合中指定元素,不用remove,選擇discard)

Remove an element from a set; it must be a member.

If the element is not a member, raise a KeyError.

s1 = {123,'alex','xhg',888,'english'}

s1.remove(666)print(s1)

14.symmetric_difference

Return the symmetric difference of two sets as a new set.

從數學角度上來說,是求交叉補集

s1 = {123,'alex','xhg',888,'english'}

s2= {123,'alex','xhg','love'}print(s1.symmetric_difference(s2))#執行結果

{'love', 888, 'english'}#從結果上來看,交叉補集就是兩個集合除去公共部分外,各自剩下的元素組成的集合

15.symmetric_difference_update

s1 = {123,'alex','xhg',888,'english'}

s2= {123,'alex','xhg','love'}

s1.symmetric_difference_update(s2)print(s1,s2)#執行結果

{'love', 'english', 888}

{'xhg', 123, 'alex', 'love'}#從執行結果中,我們可以看出來 s1.symmetric_difference_update(s2) 是將兩集合求交叉補集并將結果更新放入s1集合

16.union

從數學角度上來說,是求并集

Return the union of sets as a new set.

s1 = {123,'alex','xhg',888,'english'}

s2= {123,'alex','xhg','love'}print(s1.union(s2))#執行結果

{'english', 'love', 888, 123, 'alex', 'xhg'}

求并集還可以用符號來表示:

s1 = {123,'alex','xhg',888,'english'}

s2= {123,'alex','xhg','love'}print(s1 |s2)#執行結果

{'english', 'love', 888, 123, 'alex', 'xhg'}

17.update

Updatea set with the union of itself and others.

s1 = {123,'alex','xhg',888,'english'}

s2= {123,'alex','xhg','love',666}print(s1.update(s2))print(s1)#執行結果

{'xhg', 'love', 888, 'english', 'alex', 666, 123}

總結

以上是生活随笔為你收集整理的python集合类型变量_Python小白学习之路(八)—【变量】【基本数据类型分类】【集合】【集合的功能】...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。