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'}