一、字典
字典屬於無序列,元素存放無序,是通過哈希方式進行數據存取的,字典是一個可變容器,字典中保存一個的鍵值對: key : value。我們通過key來獲取對應的值,很類似我們的漢語字典。
- 字典中鍵必須是唯一的,必須是不可變類型
- 字典查找速度比較快
1 字典的創建
2 字典操作
⼆、集合(set)
特點:不允許有重複元素,如果添加重複元素,則會⾃動過濾,可以進行交集、並集的運算。
本質:無序且無重複元素的數據結構
1 創建集合
2 集合操作
三、補充
1.數據類型的轉換
2. 布爾值
在python中,能夠解釋爲假的值有: None、 0、 0.0、 False、所有的空容器(空列表、空元組、空字典、空集合、空字符串串),其它是真
3. zip函數
zip() 函數用於將可迭代的對象作爲參數,將對象中對應的元素打包成一個元組,然後返回由這些元組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同。
語法: zip(iterable1,iterable2, ...)
參數說明: iterable -- 一個或多個可迭代對象(字符串、列表、元祖、字典)
4. 隨機數
import random
5.列表推導式
運⽤列表推導式,可以快速生成list,可以通過一個list推導出另一個list,⽽代碼卻十分簡潔。
6.集合推導式和字典推導式
集合推導式
字典推導式
作業
1. 創建一個空元組: _t1 = ()____;創建一個具有一個元素5的元組:__t1 = (5,)________。
2. 創建一個空字典d: _d = {}_;向d中添加⼀個鍵值對( ’a’:3)__d['a'] = 3____; d[‘a’] = __3______; d[‘b’] = ___2______; d.get(‘b’,2) =_2__;執行d[‘b’] = 5後, d = _{'a': 3, 'b': 5}__。執行d.update({1:3,2:4})後d=__{'a': 3, 'b': 5, 1: 3, 2: 4}_____。
3. d = {‘a’:1,’c’:5,’d’:9,’b’:10};則list(d.keys()) = __['a', 'c', 'd', 'b']___________;
list(d.values()) = _[1, 5, 9, 10]__________; list(d.items()) = __[('a', 1), ('c', 5), ('d', 9), ('b', 10)]____________;
4. 執行a,b,c = ‘123’後, a=_1_; b=_2__; c=_3__。
5. 執行*a,b,c = 1,2,3,4,5,6後, a=_[1, 2, 3, 4]__________; b=__5__;c = __6___。
6. 執 行 a , b , c = { " h e l l o " : 1 0 , " w o r l d " : 2 0 , " 你 好 " : ' 世 界 ' } 後 ,
a=__h e l l o_____;b=_w o r l d_____;c=__你 好_____。
7. 執行a,*b,c = [1,2,3,4,5,6]後, a=___1__;b=__[2, 3, 4, 5]______;c=___6____。
8. a=[2,5,3,9,6],則執行a,b,*c = a.sort(reverse=True)後, a = __9__;b=__6___。
9. 已知a = {1,2,3,3,4,5},執⾏a.add(4)後, a = __{1, 2, 3, 4, 5}____________;執⾏a.remove(2)後a=___{1, 3, 4, 5}_________;執行a = a – {1,2,3}後a=_{4, 5}__; a =a | {1,2,6,7}後a=___{1, 2, 3, 4, 5, 6, 7}_____;執行a = a & {1,3,5}後a =__{1, 3, 5}__。
10.執行a=[x for x in range(10) if x%3]後, a=____[1, 2, 4, 5, 7, 8]_______________。
11.執行a = [5 for x in range(5)]後a = __[5, 5, 5, 5, 5]______________。
12.a=[2,4,9,5,9,8,1],表達式[index for index,value in enumerate(a) if value== max(a)]的值爲: _[2, 4]_____________。
13.a=[[1,3,5],[2,4,6]],則表達式[x for elem in a for x in elem]的值爲:_[1, 3, 5, 2, 4, 6]_________。
14.a=[2,3,4,1,6,9,8],執行b = [index for index, value in enumerate(a) if value>3]後, b=__[2, 4, 5, 6]________。
15.x=’abcde’, y=’adcbe’;則執行a= [m==n for m,n in zip(x,y)]後,a=___[True, False, True, False, True]________。
16.表達式[1]+[2] = _[1, 2]_______;(1,)+(3,)=__(1, 3)____; (1) + (2) = __3______。
17.a = {‘a’:10,’b’:3,’c’:5},則sum(list(a.values())) = __18_____。
18.請定義空列表: l1 =_[ ]____; 空元組: _t1 =_( )_____; 空集合: __s1 = set()____; 空字典:__d1 = {}___。