Python——列表、元組和集合的相關特性及用法

一、列表:

1.創建列表

#列表裏:可以儲存不同的數據類型
li = [1,1.5,'hello',True]
print(li)
print(type(li))

在這裏插入圖片描述

#列表裏也可以嵌套列表(列表也是一種數據類型)
yy = [1,1.5,'hello',True,[1,2,3,4,5]]
print(yy)
print(type(yy))

在這裏插入圖片描述

2.列表的特性

service = ['http','ssh','ftp']
##索引
print(service[0])				##輸出第一個字符串
print(service[-1])				##輸出最後一個字符串

在這裏插入圖片描述

service = ['http','ssh','ftp']
##切片
print(service[1:])				##輸出第一個字符之外的其他字符
print(service[:-1])				##輸出最後一個字符之外的其他字符
print(service[::-1])			##倒序輸出字符

在這裏插入圖片描述

service = ['http','ssh','ftp']
##重複
print(service * 3)				##重複輸出3次service內容

在這裏插入圖片描述

service = ['http','ssh','ftp']
##連接
service1 = ['nfs','samba']
print(service + service1)		##將service和service1的輸出連接起來

在這裏插入圖片描述

service = ['http','ssh','ftp']
service1 = ['nfs','samba']
##成員操作符
print('nfs' in service)			##當service中有字符nfs時輸出True,沒有則輸出True
print('nfs' in service1)

在這裏插入圖片描述

service = ['http','ssh','ftp']
service1 = ['nfs','samba']
##for循環遍歷
for i in service:
    print(i)

在這裏插入圖片描述
#列表裏嵌套列表

service2 = [['http','80'],['ssh','22'],['ftp','21']]
##索引
print(service2[0][1])		##先找到service2裏的第一個列表,再從這個列表裏找到第二個字符

在這裏插入圖片描述

service2 = [['http','80'],['ssh','22'],['ftp','21']]
#切片
print(service2[:][1])
print(service2[:-1][0])

在這裏插入圖片描述

3.列表的增加

service = ['http','ssh','ftp']
print(service + ['firewalld'])			##在列表最後面添加一個字符

在這裏插入圖片描述

service = ['http','ssh','ftp']
##append:追加,追加一個元素到列表中
service.append('firewalld')
print(service)

在這裏插入圖片描述

service = ['http','ssh','ftp']
##extend:拉伸 追加多個元素到列表中
service.extend(['mysql','firewalld'])
print(service)

在這裏插入圖片描述

service = ['http','ssh','ftp']
##insert:在指定索引位置插入元素
service.insert(1,'samba')
print(service)

在這裏插入圖片描述

4.列表的刪除

service = ['http','ssh','ftp']
##remove:刪除指定的元素
a = service.remove('ssh')
print(service)

在這裏插入圖片描述

service = ['http','ssh','ftp']
##del,直接刪除列表在內存中的值,刪除後再輸出會顯示列表沒有定義
print(service)
del service
print(service)

在這裏插入圖片描述

5.列表的修改

service = ['http','ssh','ftp']
##通過索引,重新給對應位置賦值
service[0] = 'mysql'
print(service)

在這裏插入圖片描述

service = ['http','ssh','ftp']
##通過切片,可以替換多個位置的索引值
print(service[:2])
service[:2] = ['samba','iscsi']
print(service)

在這裏插入圖片描述

6.列表的查看

service = ['ssh','http','ssh','ftp']
##查看出現的次數
print(service.count('ssh'))

在這裏插入圖片描述

service = ['ssh','http','ssh','ftp']
##查看指定元素的索引值
print(service.index('ssh'))
print(service.index('ssh',1,-1))		##從索引1到-1中查看ssh的索引值

在這裏插入圖片描述

7.列表的排序

import random
li = list(range(10))
print(li)								##從小到大輸出

在這裏插入圖片描述

import random
li = list(range(10))
print(li)
##將列表打亂,隨機排序
random.shuffle(li)
print(li)

d

##枚舉:返回索引值和對應的value值
for i,v in enumerate('westos'):
    print(i,v)

在這裏插入圖片描述

#zip,使key值和value值對應輸出
s1 = 'abc'
s2 = '456'

for i in zip(s1,s2):
    print(i)

for i in zip(s1,s2):
    print(''.join(i))

zip( ) 函數用於將可迭代的對象作爲參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓爲列表。
在這裏插入圖片描述

二、元組:

1.元組的創建

#元組(tuple): 不可變數據類型
t = (1,2.3,True,'westos')
print(t)
print(type(t))

#元組內可以存儲任意數據類型
t1 = ([1,2,3],4)
t1[0].append(4)					##給指定索引追加字符
print(t1)
t2 = ('westos',)
print(type(t2))

在這裏插入圖片描述
在這裏插入圖片描述

2.元組的特性

users = ('root','westos','redhat')
passwds = ('123','456','789')
#索引和切片
print(users[0])
print(users[-1])
print(users[1:])						##輸出除了第一個字符的其他字符
print(users[:-1])						##除了最後一個字符的其他字符
print(users[::-1])						##倒敘輸出

在這裏插入圖片描述

users = ('root','westos','redhat')
passwds = ('123','456','789')
#重複
print(users * 3)						##將元組連續輸出三次

在這裏插入圖片描述

passwds = ('123','456','789')
#連接,將指定字符與元組中的字符連接起來
print(passwds + ('012','230'))

在這裏插入圖片描述

users = ('root','westos','redhat')
passwds = ('123','456','789')
#成員操作符,查看元組中是否有指定的字符,有即爲正確,沒有就爲錯誤
print('redhat' in users)
print('redhat' not in users)

在這裏插入圖片描述

users = ('root','westos','redhat')
passwds = ('123','456','789')
#迭代
for user in users:
    print(user)

在這裏插入圖片描述

users = ('root','westos','redhat')
passwds = ('123','456','789')
#按順序輸出元組中的字符
for index,user in enumerate(users):
    print('第%d個用戶: %s' %(index+1,user))
#把兩個元組以key和value值的關係對應起來輸出
for user,passwd in zip(users,passwds):
    print(user,':',passwd)

在這裏插入圖片描述

3.元組的常用方法

t = (1,2.3,True,'westos','westos',2.3)

#顯示元組中某個字符出現的次數
print(t.count('westos'))

#顯示元組中某個字符的最小索引位置,如果元組中沒有指定字符,輸出會報錯
print(t.index(2.3))

在這裏插入圖片描述

4.元組的應用場景

scores = (59,89,65,78,100)
#定義爲列表來給一個無序數組排序
scoreli = list(scores)
scoreli.sort()
print(scoreli)
#元組的方法來排序
scores = sorted(scores)
print(scores)

在這裏插入圖片描述

#利用內置函數來完成平均成績的求法,去掉了最高分和最低分
scores = (59,89,65,78,100)
minscore,*middlescore,maxscore = scores
print(minscore)
print(middlescore)
print(maxscore)
#sum,求和	len,變量內字符的個數
print('最終成績爲: %.2f' %(sum(middlescore)/len(middlescore)))

在這裏插入圖片描述

三、集合:

1.集合的創建

#集合裏面的元素是不可重複的
s = {1,2,3,1,2,3,4,5}
print(type(s))
print(s)
s1 = set([])
print(type(s1))

#集合的應用
li = [1,2,3,1,2,3]
print(list(set(li)))

在這裏插入圖片描述

2.集合的特性

#集合只支持成員操作符和for循環
s = {1,2,3}
print(1 in s)

for i in s:
    print(i)
    
#按照key值和value值的對應關係輸出s中的值
for i,v in enumerate(s):
    print('index: %s,value: %s' %(i,v))

在這裏插入圖片描述

3.集合的常用方法

#集合:無序的數據類型
#添加順序和在集合中的存儲順序是不一樣的
s = {6,7,8,9}
#增加
s.add(2)
print(s)
#增加多個數據,已有的數據默認不會再次添加
s.update({5,2,3})
print(s)

在這裏插入圖片描述

s = {6,7,8,9}
#刪除,從集合中將數據彈出(丟棄)
s.pop()
print(s)
#指定要刪除的數據
s.remove(7)
print(s)

在這裏插入圖片描述

#集合的交集
s1 = {1,2,3}
s2 = {2,3,4}
#兩種不同的命令方式都是爲了得到s1與s2的交集
print('交集: ',s1.intersection(s2))
print('交集: ',s1 & s2)

在這裏插入圖片描述

s1 = {1,2,3}
s2 = {2,3,4}
#兩種不同的命令方式都是爲了得到s1與s2的並集
print('並集: ',s1.union(s2))
print('並集: ',s1 | s2)

在這裏插入圖片描述

s1 = {1,2,3}
s2 = {2,3,4}
#差集
print('差集: ',s1.difference(s2)) #s1 - (s1&s2)			## s1 中與 s2 不同的數
print('差集: ',s2.difference(s1)) #s2 - (s1&s2)			## s2 中與 s1 不同的數

在這裏插入圖片描述

s3 = {4,5,6}
s4 = {1,2,3}

print(s3.issuperset(s4))								##判斷 s3 是否是 s4 的超集
print(s3.issubset(s4))									##判斷集合 s3 的所有元素是否都包含在集合 s4 中
print(s3.isdisjoint(s4))								##判斷集合 s4 中是否有包含 集合 s3 的元素

超集定義:如果一個集合S2中的每一個元素都在集合S1中,且集合S1中可能包含S2中沒有的元素,則集合S1就是S2的一個超集。 S1是S2的超集,則S2是S1的真子集,反之亦然
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章