元組
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'), '你好']