国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

DevOps系列文章 之 Python基礎(chǔ)

這篇具有很好參考價值的文章主要介紹了DevOps系列文章 之 Python基礎(chǔ)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

集合

1.定義

1、集合是一個無序的,不重復(fù)的數(shù)據(jù)組合,它的主要作用如下:

1.去重,把一個列表變成集合,就自動去重了

2.關(guān)系測試,測試兩組數(shù)據(jù)之前的交集、差集、并集等關(guān)系

2、集合類型

1.數(shù)學(xué)上,把set稱做由不同的元素組成的集合,集合(set)的成員通常被稱做集合元素

2.集合對象是一組無序排列的可哈希的值

3.集合有兩種類型 :可變集合set 、不可變集合frozense

>>> s1 = set('hello')
>>> s2 = frozenset('hello')
>>> s1
set(['h', 'e', 'l', 'o'])
>>> s2
frozenset(['h', 'e', 'l', 'o'])
3、集合類型操作符

1.集合支持用in和not in操作符檢查成員
2.能夠通過len()檢查集合大小
3.能夠使用for迭代集合成員
4.不能取切片,沒有鍵

>>> len(s2)
4
>>> for ch in s1:
... print ch
helo

??|:聯(lián)合,取并集
??&:交集
??-:差補(bǔ)

>>> s1 = set('abc')
>>> s2 = set('cde')
>>> s1 | s2
set(['a', 'c', 'b', 'e', 'd'])
>>> s1 & s2
set(['c'])
>>> s1 - s2
set(['a', 'b'])
4、集合內(nèi)建方法

1.set.add():作為一個整體添加成員,一次只能添加一個
2.set.update():把里面的元素分散添加成員,可以批量添加
3.set.remove():移除成員

>>> print s1
set(['h', 'e', 'l', 'o'])
>>> s1.add('new')
>>> print s1
set(['h', 'e', 'l', 'o', 'new'])
>>> s1.update('new')
>>> print s1
set(['e', 'h', 'l', 'o', 'n', 'w', 'new'])
>>> s1.remove('n')
>>> print s1
set(['e', 'h', 'l', 'o', 'w', 'new'])

4.?s.issubset(t):如果s是t的子集,則返回True,否則返回False
5.s.issuperset(t):如果t是s的超集,則返回True,否則返回False
6.s.union(t):返回一個新集合,該集合是s和t的并集
7.s.intersection(t):返回一個新集合,該集合是s和t的交集

8.s.difference(t):返回一個新集合,該集合是s的成員,但不是t的成員

集合方法:

函數(shù) 描述
1

add(self, *args, **kwargs)

?是把要傳入的元素做為一個整個添加到集合中
2

clear(self, *args, **kwargs)

?清空集合里面的所有元素
3

copy(self, *args, **kwargs)

復(fù)制集合里面的所有元素?,返回一個淺復(fù)制
4

difference(self, *args, **kwargs)

求兩個集合里面的不同的元素?,又稱差
5

difference_update(self, *args, **kwargs)

?返回刪除了 set “集合2”中含有的元素后的 set “集合1”?
6

discard(self, *args, **kwargs)

?如果在 set “集合”中存在元素 x, 則刪除?
7

intersection(self, *args, **kwargs)

求兩個集合里面相同的元素,又稱并?,

返回只保留含有 set “集合2”中元素的 set “集合1”?

8

intersection_update(self, *args, **kwargs)

?,

返回只保留含有 set “集合2”中元素的 set “集合1”?,并更新自己

9

isdisjoint(self, *args, **kwargs)

?判斷兩個集合是不是不相交,并返回
10

issubset(self, *args, **kwargs)

?判斷集合是不是包含其他集合,等同于a>=b
11

issuperset(self, *args, **kwargs)

判斷集合是不是被其他集合包含,等同于a<=b?
12

pop(self, *args, **kwargs)

?刪除并且返回 set “集合”中的一個不確定的元素, 如果為空則引發(fā) KeyError?
13

remove(self, *args, **kwargs)

?從 set “集合”中刪除元素 , 如果不存在則引發(fā) KeyError?
14

symmetric_difference(self, *args, **kwargs)

?返回一個新的 set 包含?外面 和?里面 中不重復(fù)的元素

也就是兩個集合不重復(fù)的元素?

15

symmetric_difference_update(self, *args, **kwargs)

?返回含有 set “里面”或者 set “外面”中有而不是兩者都有的元素的 set “外面”?
16

union(self, *args, **kwargs)

把兩個集合連接起來,又稱并?
17

update(self, *args, **kwargs)

?可以在集合里面添加多項

集合使用

1,定義集合
?? ?
#第一種方法
nums = [1,2,3,4,5,6,7]
num_set = set(nums)
print(num_set)
結(jié)果:
set([1, 2, 3, 4, 5, 6, 7])
#第二種方法
num_set ={1,2,3,4,5,6,7}
print num_set
結(jié)果:

?set([1, 2, 3, 4, 5, 6, 7])


  

2,增(更新)

set.add() ?

set.update([])
?
nums = {1,2,3,4,5,6,7}
#set.add()增加只能增加一個,不能增加多個值
# nums.add(8)
# print(nums)
#set.update()可以增加一個字符串,可以增加多個值
# nums.update([8])
# print(nums)
# nums.update('8')
# print(nums)
nums.update([8,9,10])
print(nums)


  

3,刪
?
set1.remove(1)

    
nums = {1,2,3,4,5,6,7}
nums.remove(7)
print(nums)
結(jié)果:
{1, 2, 3, 4, 5, 6}



  

4,查:無法通過下標(biāo)索引

5,改:不可變類型無法修改元素

6,交( &)
?? ?文章來源地址http://www.zghlxwxcb.cn/news/detail-677836.html

nums1 ={1, 2, 3, 4, 5, 6}
nums2 ={1, 2, 3, 4, 5, 10,7,8,9}
#交的方式一:&
a = nums1&nums2
print(a)
#并的方式二:intersaction
b = nums1.intersection(nums2)
print(b)
 
結(jié)果:
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}


  

7,并(|)
?
nums1 ={1, 2, 3, 4, 5, 6}
nums2 ={1, 2, 3, 4, 5, 10,7,8,9}
#并的方式一:|
a = nums1|nums2
print(a)
#并的方式二:uniom
b = nums1.union(nums2)
print(b)
 
結(jié)果:
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

  

8,差(-)
?? ?
nums1 ={1, 2, 3, 4, 5, 6}
nums2 ={1, 2, 3, 4, 5, 10,7,8,9}
#差的方式一:-
a1 = nums1-nums2
print(a1)
a2 = nums2-nums1
print(a2)
#差的方式二:difference
b1 = nums1.difference(nums2)
print(b1)
b2 = nums2.difference(nums1)
print(b2)
 
結(jié)果:
{6}
{8, 9, 10, 7}
{6}
{8, 9, 10, 7}


  

9,對稱差集(^)
?? ?
nums1 ={1, 2, 3, 4, 5, 6}
nums2 ={1, 2, 3, 4, 5, 10,7,8,9}
#對稱差集表示方法一:^
a1 = nums1^nums2
print(a1)
#對稱差集表示方法二:symmetric_difference
a2 = nums2.symmetric_difference(nums1)
print(a2)
 
結(jié)果:
{6, 7, 8, 9, 10}
{6, 7, 8, 9, 10}


10,集合轉(zhuǎn)換
?? ?
se = set(range(4))
li = list(se)
tu = tuple(se)
st = str(se)
print(li,type(li))
print(tu,type(tu))
print(st,type(st))
 
結(jié)果:
[0, 1, 2, 3] <class 'list'>
(0, 1, 2, 3) <class 'tuple'>
{0, 1, 2, 3} <class 'str'>

補(bǔ)充:frozenset

  
冰凍集合,是一種特殊的集合類型,也是集合(集合是列表的話,冰凍集合就是元組)

  下面創(chuàng)建冰凍集合(一般不會創(chuàng)建空的冰凍集合)

  同時下面包含函數(shù)的補(bǔ)充

    
#創(chuàng)建帶數(shù)據(jù)的冰凍集合
info = frozenset(('xuexi','gongzuo','kaoyan','xiuxi'))
print(info,type(info))
#成員監(jiān)測
result = 'gongzuo' in info
print(result)
#遍歷冰凍集合
for i in info:
    print(i)
#集合推導(dǎo)式(無法得到冰凍集合,可以得到集合,列表,元組,字典類型)
result = {i for i in info}
print(result,type(result))
 
#函數(shù)
#冰凍集合可以使用集合的函數(shù)(不修改集合本身的函數(shù)都可以使用)
info = frozenset(('xuexi','gongzuo','kaoyan','xiuxi'))
 
#copy()
result = info.copy()
print(result)
 
#集合操作  交集,并集,差集,對稱差集等  不修改冰凍集合本身就能使用:冰凍集合的操作結(jié)果都是冰凍集合
info = frozenset(('xuexi','gongzuo','kaoyan','xiuxi'))
info2 = {'xuexi','gongzuo','kaoyan','xiuxi'}
#冰凍集合操作
result = info.union(info2)
print(result)
 
#普通集合操作(冰凍集合是參考集合)
result = info2.union(info)
print(result)
集合操作實例
>>> s = set(["hello world"])
>>> s.add('python')   #添加
>>> s
set(['python', 'hello world'])
>>> 

>>> s.clear() #清空內(nèi)容
>>> s
set([])
>>> 
>>> s = set(["hello world"])
>>> s2 = s.copy()
>>> s2
set(['hello world'])
>>> 

>>> a = set([1,2,3,4,5])
>>> b = set([1,3,5,7,9])
>>> a.difference(b)  #差集,返回a集合中有但b集合中沒有的元素,a中的元素不變
set([2, 4])
>>> 
>>> b.difference(a) #差集,返回b集合中有但a集合中沒有的元素
set([9, 7])
>>> 

>>> a.difference_update(b)  #差集,返回a集合中有但b集合中沒有的元素,并且把其結(jié)果更新到a集合中
>>> a
set([2, 4])

>>> a = set([1,2,3,4,5])
>>> b = set([1,3,5,7,9])
>>> b.difference_update(a) #差集,返回b集合中有但a集合中沒有的元素,并且把其結(jié)果更新到a集合中
>>> b
set([7, 9])
>>> 

>>> a = set([1,2,3,4,5])
>>> b = set([1,3,5,7,9])

>>> a.discard(3) #刪除集合中之指定的元素,有則刪除,沒有則不報異常
>>> a
set([1, 2, 4, 5])
>>> a.discard(6)
>>> a
set([1, 2, 4, 5])
>>> 

>>> a.intersection(b)  #返回交集,即兩者共有的元素
set([1, 5])
>>> b.intersection(a) 
set([1, 5])
>>> 


>>> a.intersection_update(b)  #返回交集,把兩者共有的元素更新到a集合中
>>> a
set([1, 5])
>>> 

>> a = set([1,2,3,4,5])
>>> b = set([1,3,5,7,9])
>>> a.isdisjoint(b)  #判斷是否不是交集,是則返回True
False
>>> b.isdisjoint(a)
False

>>> a.issubset(b) #判斷a是否是b的子集,是則返回True
False


>>> a.issuperset(b) #判斷a是否是b的超集,是則返回True
False

>>> a.pop()
1
>>> a
set([2, 3, 4, 5])
>>> 
>>> a.remove(3)
>>> a
set([2, 4, 5])
>>> 

>>> a.symmetric_difference(b) #對稱差集,即把a(bǔ)中沒有但b中有的以及b中有的但a中沒有的重新組合在一起顯示
set([2, 4, 7, 9])
>>> a.symmetric_difference_update(b)
>>> a
set([2, 4, 7, 9])
>>> 

>> a.union(b)  #并集
set([1, 2, 3, 4, 5, 7, 9])

s.update(t)將t中所有項添加到t中,t為任意支持迭代對象
>>> a.update("10")
>>> a
set([2, 4, 7, 9, '1', '0'])
>>> a.update(b)
>>> a
set([1, 2, 3, 4, 5, 7, 9, '1', '0'])
>>> 

到了這里,關(guān)于DevOps系列文章 之 Python基礎(chǔ)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • DevOps系列文章 之 Springboot單元測試

    在沒有代碼生成工具或嘗試一門新的 ORM 框架時,當(dāng)我們希望不去另外寫 Service 和 Controller 來驗證 DAO 層的代碼不希望只通過接口請求的方式來驗證時,這時候單元測試的方式就可以幫助我們滿足這一需求。 在我們開發(fā)Web應(yīng)用時,經(jīng)常會直接去觀察結(jié)果進(jìn)行測試。雖然也是一

    2024年02月15日
    瀏覽(18)
  • DevOps系列文章之 Git知識大全

    DevOps系列文章之 Git知識大全

    常用命令 ? 其他參數(shù) --inital-branch 初始化的分支 --bare 創(chuàng)建一個裸倉庫(純 Git 目錄,沒有工作目錄) --template 可以通過模板來創(chuàng)建預(yù)先建好的自定義 git 目錄 ? 用戶名配置 git config --global user.name \\\"yourname\\\" git config --global user.email yourname@xx.com instead of 配置 git config --global url.git

    2024年02月16日
    瀏覽(16)
  • DevOps系列文章之Argo CD 使用

    DevOps系列文章之Argo CD 使用

    Argo CD 是用于 Kubernetes 的聲明性 GitOps 連續(xù)交付工具。 Argo CD 可在指定的目標(biāo)環(huán)境中自動部署所需的應(yīng)用程序狀態(tài),應(yīng)用程序部署可以在 Git 提交時跟蹤對分支,標(biāo)簽的更新,或固定到清單的特定版本。 Argo CD 的主要職責(zé)是 CD(Continuous Delivery,持續(xù)交付),將應(yīng)用部署到 Kube

    2024年02月16日
    瀏覽(20)
  • DevOps系列之 Python操作數(shù)據(jù)庫

    安裝pymysql pip install pymysql pymysql操作數(shù)據(jù)庫 1.連接數(shù)據(jù)庫 使用Connect方法連接數(shù)據(jù)庫 pymysql.Connections.Connection(host=None, user=None, password=\\\'\\\', database=None, port=0, charset=\\\'\\\') 參數(shù)說明: host – 數(shù)據(jù)庫服務(wù)器所在的主機(jī)。 user – 登錄用戶名。 password – 登錄用戶密碼。 database – 連接的數(shù)據(jù)

    2024年02月02日
    瀏覽(19)
  • DevOps系列文章 之 Docker in Docker

    一、 ?背景介紹 工作中,要實現(xiàn)在docker中運行docker,實現(xiàn)鏡像的拉取,創(chuàng)建,修改,上傳等操作。 嘗試過在docker中,安裝docker。行不通,服務(wù)起不來。 而且直接在 docker 容器內(nèi)嵌套安裝 docker 未免太過臃腫。 內(nèi)部安裝與運行Docker無疑增加了服務(wù)器鏡像的大小,同時還增加D

    2024年02月16日
    瀏覽(20)
  • DevOps系列文章 之 docker 制作kafka鏡像

    Docker制作Kafka鏡像教程 概述 本教程將指導(dǎo)你如何使用Docker制作一個Kafka鏡像。Kafka是一個高性能、分布式的消息隊列系統(tǒng),用于處理大規(guī)模的實時數(shù)據(jù)流。使用Docker制作Kafka鏡像可以方便地部署和管理Kafka集群。 整體流程 下面是制作Kafka鏡像的整體流程: 步驟1:安裝Docker 首先

    2024年02月15日
    瀏覽(58)
  • DevOps系列文章 之 linux ab壓力測試

    1、安裝 2、檢測版本 3、常用 4、解釋

    2024年02月16日
    瀏覽(27)
  • DevOps系列文章之 GitLab CI/CD

    DevOps系列文章之 GitLab CI/CD

    由于目前公司使用的gitlab,大部分項目使用的CICD是gitlab的CICD,少部分用的是jenkins,使用了gitlab-ci一段時間后感覺還不錯,因此總結(jié)一下 介紹gitlab的CICD之前,可以先了解CICD是什么 我們的開發(fā)模式經(jīng)歷了如下的轉(zhuǎn)變:瀑布模型-敏捷開發(fā)→DevOps(Development、Operations的組合詞,是

    2024年01月22日
    瀏覽(62)
  • DevOps系列文章之 Spring Boot Docker打包

    DevOps系列文章之 Spring Boot Docker打包

    應(yīng)用準(zhǔn)備容器化,因為幾十個應(yīng)用從測試到發(fā)布太麻煩了,而且還會因為環(huán)境的因素導(dǎo)致部署中出現(xiàn)各種問題。為了在開發(fā)、測試、生產(chǎn)都能保持一致的環(huán)境,就引進(jìn)了容器技術(shù),而目前常用的應(yīng)用使用基于spring boot的。 在Spring Boot應(yīng)用中,我們可以約定不同的標(biāo)識來定義不

    2024年02月11日
    瀏覽(24)
  • DevOps系列文章 之 Gitlab+Docker自動部署SpringBoot

    DevOps系列文章 之 Gitlab+Docker自動部署SpringBoot

    以下服務(wù)器的操作系統(tǒng)均為Centos7 服務(wù)器A:Gitlab 服務(wù)器B:GitlabRunner、Docker、docker-compose、Java1.8、maven3.6.3、git ps:這里可以把服務(wù)器B的GitlabRunner、Java1.8、maven3.6.3、git單獨提出來,獨立部署,需要java的原因是maven,maven用于打包。 應(yīng)用服務(wù)器B就只需要docker和docker-compose就可以

    2024年02月13日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包