當前位置:星座運勢大全官網 - 八字算命 - Python實際上是非常簡單的第10章字典和集合

Python實際上是非常簡單的第10章字典和集合

上面提到的列表和元組是有序序列,而字典和集合屬於無序序列,即不能通過索引操縱元素。

10.1字典

語法格式:

字典= {key1 : value1,key2 : value2,key3 : value3,....,鍵n:值n }

其中dictionary是字典名,key表示元素的鍵,value表示元素的值,鍵和值必須成對出現。

比如:

& gt& gt& gtdict1 = { 'abc': 123,98.6: 37 }

& gt& gt& gt字典1

{'abc': 123,98.6: 37}

可以看出,鍵可以是字符串、數字或元組,但必須是唯壹的;該值可以是任何數據類型,並且不要求唯壹。

1,創建字典的方法

方法壹:既給鍵又給值,即“關鍵字參數”的形式。

dictionary = dict(key 1 = value 1,key2=value2,.....鍵n =值n)

註意:這裏的鍵必須符合Python標識符的命名規則。

示例:

首先使用“{0}”創建詞典:

& gt& gt& gtDict1={1:'壹',2:'二',3:'三',4:'四',5:'五' }

& gt& gt& gt字典1

{1:'壹',2:'二',3:'三',4:'四',5:'五' }

然後以“關鍵字參數”的形式創建它:

& gt& gt& gtDict1=dict(1= '壹',2= '二',3= '三',4= '四',5= '五')。

語法錯誤:表達式不能包含賦值,可能您指的是“==”?

創建失敗,因為密鑰不符合Python標識符的命名規則。如前所述,標識符不能用數字表示,也不能以數字開頭。

現在,按如下方式修改密鑰:

& gt& gt& gtDict1=dict(n1= '壹',n2= '二',n3= '三',n4= '四',n5= '五')#數字前加壹個字符“n”。

& gt& gt& gt字典1

{'n1 ':'壹',' n2 ':'二',' n3 ':'三',' n4 ':'四',' n5 ':'五' }

方法2:利用已有的元組和列表,通過映射函數創建壹個字典。

格式:dictionary = dict (zip(元組鍵,列表值))

示例:

& gt& gt& gt元組鍵= ('N1 ',' N2 ',' N3 ',' N4 ',' N5') #鍵的順序采用元組。

& gt& gt& gtListvalue=['壹','二','三','四','五'] #值的順序采用列表。

& gt& gt& gtdict1=dict(zip(tuplekey,listvalue))

& gt& gt& gt字典1

{'n1 ':'壹',' n2 ':'二',' n3 ':'三',' n4 ':'四',' n5 ':'五' }

註意:tuple(listname)函數可以將列表轉換為元組,list(tuplename)函數可以將元組轉換為列表。

2.通過鍵訪問字典。

直接獲取鍵對應元素的值。

& gt& gt& gtdict1['n2']

2'

使用get()方法

& gt& gt& gtdict1.get('n2 ')

2'

get()方法也可以接受參數,並在要訪問的鍵不存在時返回壹個字符串。比如:

& gt& gt& gtdict1.get('n0 ','找不到!)#當要搜索的鍵不存在時,返回‘找不到!'

“找不到!”

3.查閱字典

使用dictionary對象的items()方法獲取字典的鍵值對列表。

& gt& gt& gt對於dict1.items()中的項目:

打印(項目)

(' n1 ','壹')

(“n2”,“II”)

(“n3”,“三”)

(“n4”,“四”)

(“n5”,“五”)

您還可以獲得每個元素的特定鍵和值,例如:

& gt& gt& gt對於鍵,dict1.items()中的值:

打印(鍵,“對應於”,值)

N1對應壹個

N2相當於兩個。

N3相當於三。

N4對應四。

N5對應五。

4.添加、修改和刪除字典元素。

使用下面的語句,如果指定的鍵存在,可以修改元素的值;如果指定的鍵不存在,則添加元素。比如:

& gt& gt& gtDict1['n6']=' six' # key 'n6 '不存在,所以添加了這個元素。

& gt& gt& gt字典1

{'n1 ':'壹',' n2 ':'二',' n3 ':'三',' n4 ':'四',' n5 ':'五',' n6 ':'六' }

& gt& gt& gtdict 1[' n4 ']= 'é' # key ' n4 '存在,所以這個元素被修改。

& gt& gt& gt字典1

{'n1 ':'壹',' n2 ':'二',' n3 ':'三',' n4 ':'四',' n5 ':'五',' n6 ':'六' }

5.通過推導建立詞典。

隨機導入

dict 1 = { I:random . randint(1,100) for i in range(5)}

#生成元素的鍵是0到5的整數,值是1到100之間的隨機數。

打印(dict1)

運行結果:{0: 28,1: 59,2: 79,3: 30,4: 88}

10.2套

集合是數學中壹個非常重要的概念,它有三個基本屬性:確定性、互異性和無序性。在Python中,集合也有這三個基本屬性,其中確定性意味著對象要麽是集合的元素,要麽不是;相互性意味著集合中的元素不能重復;無序是指集合中的元素可以隨意改變位置,而不考慮順序。

1,集合的創建

使用“{0}”直接創建

& gt& gt& gtSet1={ '春','夏','秋','冬' }

& gt& gt& gtset1

{ '秋天','春天','冬天','夏天' }

& gt& gt& gt集合2={3,2,1,4,5}

& gt& gt& gt集合2

{1, 2, 3, 4, 5}

使用現有列表和元組創建集合。

& gt& gt& gtList1=['東','南','西','北']

& gt& gt& gtset3=set(list1)

& gt& gt& gt集合3

{ '南','東','北','西' }

從現有收藏創建“副本”。

& gt& gt& gt集合3

{'South ',' East ',' North ',' West'} #set3和set4具有相同的值。

& gt& gt& gt集合4 =集合3

& gt& gt& gt集合4

{ '南','東','北','西' }

& gt& gt& gtSet4.add ('in') #向Set4添加元素。

& gt& gt& gt集合4

{ '西','中','東','南','北' } #這個很好理解。

& gt& gt& gt集合3

{ '西','中','東','南','北' } #想不到吧?Set3為什麽會變?

看看簡單變量的例子:

& gt& gt& gta=2

& gt& gt& gtb=a #和前面的set4=set3相似嗎?

& gt& gt& gtb+=1

& gt& gt& gtb

& gt& gt& gta

2 #但是a的值沒有變。

從上面集合set3和set4的值與簡單變量A和B的值對比中,不難發現,set3和set4是指向同壹個地址的對象,而變量A和變量B指向不同的地址。語句b=a是將A的值傳遞給B,而不是將A的地址傳遞給B,列表、元組和字典都具有與集合相同的屬性。

因此,稱set4為set3的“副本”更為恰當。

2.添加和刪除元素

& gt& gt& gt集合3

{ '南','東','北','西' }

& gt& gt& gtSet3.add ('in') # Add元素

& gt& gt& gt集合3

{'West ',' Middle ',' East ',' South' and' North'} #集合中的元素順序不對,所以不用擔心順序的變化。

& gt& gt& gtSet3.remove ('in') # Delete元素

& gt& gt& gt集合3

{ '西','東','南','北' }

3.集合運算

集合運算包括交集(&;)、並(|)和差(-),與數學中的集合運算壹致。

& gt& gt& gtSet3={ '南','東','北','西' }

& gt& gt& gtSet4={ '西','中','東','南','北' }

& gt& gt& gtset3 & amp集合4 #取集合3和集合4的交集。

{ '西','南','北','東' }

& gt& gt& gtSet3 | set4 #取集合3和集合4的並集。

{ '中','南','北','西','東' }

& gt& gt& gtSet3-set4 #取Set3和set4的區別,即set3的元素比set4多。

集合()

& gt& gt& gtSet4 -set3 #取Set4和set3的區別,即set4的元素比set3多。

{'in'}