Python之元組和集合


元組

1.元組的表示方法:用一對圓括號括起來的數據,為一組元組數據   (),不帶小括號的可以表示一個元組數,如下:

#元組的兩種表示方法
tup=1,2,3
tup1=(1,2,3)
print(type(tup))
print(type(tup1))

輸出結果:
<class 'tuple'>
<class 'tuple'>

 

2.元組與列表一樣,也是一種序列,但是元組內的元素是不可修改的

#修改一個列表元素
tup1=[1,2,3]
tup1[1]='nihao'
print(tup1)

輸出結果:
[1, 'nihao', 3]

#修改一個元組元素
tup1=(1,2,3)
tup1[1]='nihao'
print(tup1)

輸出結果:
TypeError: 'tuple' object does not support item assignment(元組不能修改元素)

3.如果元組中只有一個元素,需要在元素后面添加一個逗號,如果不添加逗號,則就不是一個元組,添加的數據是什么類型返回結果就是什么類型的數據

#元組內為一個元素時,加逗號和不加逗號的區別
tup=(1)
tup1=(1,)
print(type(tup))
print(type(tup1))

輸出結果:
<class 'int'>
<class 'tuple'>

4.元組是有序的,可以通過索引操作取值

tup=(1,23,45,'nihao',(1,2),{'name':"藍天"},[3,4,5])
print(len(tup))
print(tup[5])
print(tup[3])
print(tup[2])

輸出結果:
7
{'name': '藍天'}
nihao
45

5.元組是不可修改的序列,但是可以利用切片對元組內的數據進行更新

#向元組內添加一組數據,使用切片實現元組連接
tup=(1,23,45,'nihao',(1,2),{'name':"藍天"},[3,4,5])
tup1=("小猴子","大灰狼")
print(tup[:4]+tup1+tup[4:])

輸出結果:
(1, 23, 45, 'nihao', '小猴子', '大灰狼', (1, 2), {'name': '藍天'}, [3, 4, 5])

6.刪除元組數據(只能使用del() 進行刪除)

tup=(1,23,45,'nihao',(1,2),{'name':"藍天"},[3,4,5])
print(tup)
del(tup)  #刪除元組,是直接刪除,而不是清空
print(tup)

輸出結果:
(1, 23, 45, 'nihao', (1, 2), {'name': '藍天'}, [3, 4, 5])
NameError: name 'tup' is not defined  (已被刪除,所以該元組不存在)

7.元組的拆包和解包(變量必須與元組內的元素個數一一對應,元組內有多少個元素,就有多少個變量去一一接收,否則會報錯)

#元組的拆包和解包,使用方法如下:
tup0,tup1,tup2,tup3,tup4,tup5,tup6=(1,23,45,'nihao',(1,2),{'name':"藍天"},[3,4,5])

print(tup5)

輸出結果:
{'name': '藍天'}

8.元組的相關操作符

  • 重復操作符  *     tuple*3   將元組內的元素重復輸出多少次
  • 邏輯操作符號  and  or 
  • 成員關系操作符  in  not  in
  • 拼接操作符+    (拼接操作符兩邊的元素類型要一致,只能拼接元組類型,其他類型會報錯)
  • 關系操作符  (>,<,>=,<=,==)

9.什么時候用元組

  • .在信息不能進行修改的情況下,用元組
  • 元組的性能要強於列表(測試的時候感受不到,基本上用列表就夠 了)

 

集合

1.集合的表示方法:{ }  使用花括號包裹起來的數據為集合

例如:{1,2,3,4,'python','你好'}

2.集合和字典的區別:集合沒有key,而字典有

3.集合是無序的可變的,所以不能使用索引進行取值

4.集合的主要作用:去重  (set會將重復的元組覆蓋掉,從而達到去重的效果)  ❥(^_-)     面試中,可能會問到

#集合可以存儲元組,但是不能存儲字典和列表
my_set={"python",1,23,3,3,3,56,7,'python','你好',("name","xiaoha")}
print(my_set)
print(len(my_set))

輸出結果:
{1, 3, 'python', 7, '你好', ('name', 'xiaoha'), 23, 56}
8


#集合可以對列表中的重復元素進行去重
my_list1=["python",1,23,3,3,3,56,7,'python','你好',("name","xiaoha")]
print(my_list1)
print(set(my_list1))
print(list(set(my_list1)))  #將去重后的集合再轉換為列表輸出,就達到列表去重的效果

輸出結果:
['python', 1, 23, 3, 3, 3, 56, 7, 'python', '你好', ('name', 'xiaoha')]
{1, '你好', 3, 7, 'python', ('name', 'xiaoha'), 23, 56}
['python', 1, 3, 7, 23, 56, ('name', 'xiaoha'), '你好']

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM