-
return表示返回的意思,函數體內部的語句在執行時,一旦執行到return時,函數就執行完畢,并將結果返回。
查看全部 -
discard()方法刪除元素,和remove()不同的是,當元素不存在時,使用discard()并不會引發錯誤,所以使用discard()是更加高效的一個方法。
清除所有元素的方法clear()
name_set?=?set(['Jenny',?'Ellena',?'Alice',?'Candy',?'David',?'Hally',?'Bob',?'Isen',?'Karl']) name_set.clear() set提供方法判斷兩個set之間的關系,比如兩個集合set,判斷其中一個set是否為另外一個set的子集或者超集。
s1?=?set([1,?2,?3,?4,?5]) s2?=?set([1,?2,?3,?4,?5,?6,?7,?8,?9]) #?判斷s1是否為s2的子集 s1.issubset(s2)?#?==>?True #?判斷s2是否為s1的超集 s2.issuperset(s1)?#?==>?True
set提供
isdisjoint()
方法,可以快速判斷兩個集合是否有重合,如果有重合,返回False,否則返回True。s1?=?set([1,?2,?3,?4,?5]) s2?=?set([1,?2,?3,?4,?5,?6,?7,?8,?9]) s1.isdisjoint(s2)?#?==>?False,因為有重復元素1、2、3、4、5
查看全部 -
set提供了remove()方法允許我們刪除set中的元素。
name_set?=?set(['Jenny',?'Ellena',?'Alice',?'Candy',?'David',?'Hally',?'Bob',?'Isen',?'Karl']) name_set.remove('Jenny') 需要注意的是,如果remove的元素不在set里面的話,那么將會引發錯誤。
查看全部 -
set提供了add()方法,我們可以使用add()方法,往set里面添加元素。
names?=?['Alice',?'Bob',?'Candy',?'David',?'Ellena'] name_set?=?set(names) name_set.add('Gina')
set提供了update()方法,可以一次性給set添加多個元素。
names?=?['Alice',?'Bob',?'Candy',?'David',?'Ellena'] new_names?=?['Hally',?'Isen',?'Jenny',?'Karl'] name_set?=?set(names) name_set.update(new_names)
查看全部 -
創建set的方式是使用
set()
,并傳入一個list,list的元素將會被轉換成set的元素。s?=?set([1,?4,?3,?2,?5]) print(s)?#?==>?set([1,?2,?3,?4,?5]) 在傳入set()的list中,包含了重復的元素,但是打印的時候,相同的元素只保留了一個,重復的元素都被去掉了,這是set的一個重要特點。
查看全部 -
for語句求和求評論查看全部
-
dict提供keys()函數,可以返回dict中所有的key。
dict提供values()函數,可以返回dict中所有的value。
dict提供clear()函數,可以直接清除dict中所有的元素。
查看全部 -
對于基礎數據類型,字符串、數字等,這些都是不可變的,可以作為dict的key,而對于復雜數據類型,經過前面的學習,我們知道tuple是不可變的,list是可變的,因此tuple可以作為dict的key,但是list不可以作為dict的key,否則將會報錯。
遍歷dict有兩種方法, 第一種是遍歷dict的所有key,并通過key獲得對應的value。
d?=?{ ????'Alice':?45, ????'Bob':?60, ????'Candy':?75, ????'David':?86, ????'Ellena':?49 } for?key?in?d:?#?遍歷d的key ????value?=?d[key] ????if?value?>?60: ????????print(key,?value) #?==>?Candy?75 #?==>?David?86
第二種方法是通過dict提供的
items()
方法,items()
方法會返回dict中所有的元素,每個元素包含key和value。for?key,?value?in?d.items(): ????if?value?>?60: ????????print(key,?value) #?==>?Candy?75 #?==>?David?86
查看全部 -
賦值語句其實有兩個功能:
當key不存在時,往dict中添加對應的key: value元素。
當key存在時,會更新dict,用新的value替換原來的value。
因此,在使用賦值語句往dict中添加元素時,為了避免不必要的覆蓋問題,我們需要先判斷key是否存在,然后再做更新。
查看全部 -
實在不行就改成list 再變換,反正list就可以修改
查看全部 -
判斷tuple的個數,輸出之后看結果中有哪些被小括號包圍
查看全部 -
需要往里面添加Dodo、Mimi的成績時,可以使用賦值語句往里面添加元素:
d['Mimi']?=?72 d['Dodo']?=?88 print(d)
實際上,value可以是任意類型的元素,可以是list、tuple等,假如Mimi近兩次成績分別是72,73,Dodo近兩次的成績分別是88,90,則可以使用賦值語句往dict中添加list元素。
d['Mimi']?=?[72,?73] d['Dodo']?=?[88,?90] print(d)
此后,如果Mimi、Dodo的第三次成績也出來了,分別是75,90,則可以先通過key把對應的value查詢出來,然后再往類型是list的value中添加第三次的成績。
d['Mimi'].append(75) d['Dodo'].append(90) print(d)
查看全部 -
此時,如果想通過名字來查詢某個同學的成績,也就是通過key來查詢value,這個時候怎么辦呢?
dict提供通過key找到對應value的功能,通過d[key]
的形式,就可以得到對應的value。這和list通過下標找到對應位置的元素是類似的。
回顧一下前面使用下標的方式訪問list元素的時候,當下標不存在時,就會引發錯誤,在dict中,也是一樣的,當對應的key不存在時,也會引發錯誤。它的意思是key不存在,因此我們在需要通過key找到value時,一定要先判斷key存不存在,然后才使用上面的方式獲取對應的value,以避免錯誤。
if?'Alice'?in?d: ????print(d['Alice'])?#?==>?45 if?'Dodo'?in?d:?#?Dodo不存在,所以不會走下面的邏輯 ????print(d['Dodo'])
除了使用這種方法,還有一種方法可以通過key來獲取對應的value,這種方法不會引起錯誤,dict本身提供get方法,把key當作參數傳遞給get方法,就可以獲取對應的value,當key不存在時,也不會報錯,而是返回None。
print(d.get('Alice'))?#?==>?45 print(d.get('Dodo'))?#?==>?None
查看全部 -
###字典的語法
d?=?{ ????'Alice':?45, ????'Bob':?60, ????'Candy':?75, ????'David':?86, ????'Ellena':?49 }
在定義里,我們使用花括號
{}
表示這是一個dict,然后key和value之間使用冒號:
分割,并且每一組key:value
的最后,以逗號,
表示這一組的結束。
我們也可以使用以下的方式定義一個dict。###空字典
d?=?dict()
查看全部 -
###可變的tuple
T?=?(1,?'CH',?[3,?4]) L?=?T[2] print(L)?#?==>?[3,?4] #?嘗試替換L中的元素 L[1]?=?40 print(L)?#?==>?[3,?40] print(T)?#?==>?(1,?'CH',?[3,?40])
查看全部
舉報