字典與集合_月隱學python第8課

一、字典

字典屬於無序列,元素存放無序,是通過哈希方式進行數據存取的,字典是一個可變容器,字典中保存一個的鍵值對: 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 = {}___。
 

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