-
#?d?=?{ #?????'Alice':?45, #?????'Bob':?60, #?????'Candy':?75, #?????'David':?86, #?????'Ellena':?49 #?} #?for?key?in?d: #?????value?=?d[key] #?????if?value?>?60: #?????????print(key,value) ???? #?for?key,value?in?d.items(): #?????if?value?>?60: #?????????print(key?,?value) ???? d?=?{'Alice':?[50,?61,?66],?'Bob':?[80,?61,?66],?'Candy':?[88,?75,?90]} for?key,value?in?d.items(): ????for?i?in?value: ????????print(key,i)對于基礎數據類型,字符串、數字等,這些都是不可變的,可以作為dict的key,而對于復雜數據類型,經過前面的學習,我們知道tuple是不可變的,list是可變的,因此tuple可以作為dict的key,但是list不可以作為dict的key,否則將會報錯。
通過直接print(d),我們打印出來的是完整的一個dict;有時候,我們需要把dict中m一定條件的元素打印出來,比如成績超過60的,在這種情況下,我們需要則需要遍歷dict(這種時候需要使用for循環),并通過條件判斷把滿足條件的打印出來。
遍歷dict有兩種方法, 第一種是遍歷dict的所有key,并通過key獲得對應的value。
查看全部 -
print("蘇美華")
查看全部 -
#?d?=?{ #?????'Alice':?45, #?????'Bob':?60, #?????'Candy':?75, #?????'David':?86, #?????'Ellena':?49 #?} #?name?=?'Alice' #?if?name?in?d.keys(): #?????d.pop(name) #?else: #?????print('{}?not?in?d'.format(name))在dict中,使用keys()方法,可以返回dict的所有key,在刪除某個元素時,可以通過這個方法先判斷某個元素是否存在,請改造前面的程序,使得即使key不存在時,刪除也不會拋異常。
dict提供便捷的pop()方法,允許我們快速刪除元素,pop()方法需要指定需要刪除的元素的key,并返回對應的value。
假設Alice轉校了,需要把Alice的成績刪除,可以這樣寫:
d?=?{ ????'Alice':?45, ????'Bob':?60, ????'Candy':?75, ????'David':?86, ????'Ellena':?49 } print(d)?#?==>?{'Alice':?45,?'Bob':?60,?'Candy':?75,?'David':?86,?'Ellena':?49} alice_score=?d.pop('Alice') print(alice_score)?#?==>?45 print(d)?#?==>?{'Bob':?60,?'Candy':?75,?'David':?86,?'Ellena':?49} 需要注意的是,pop()方法的參數是dict中的key,當key不存在時,同樣會引起錯誤。比如在上述操作中,已經把Alice的成績刪除了,假如再次pop('Alice'),將會引發錯誤。查看全部 -
d?=?{ ????'Alice':?45, ????'Bob':?60, ????'Candy':?75, ????'David':?86, ????'Ellena':?49 } d['Bob']?=?75 print(d) #?==>?{'Alice':?45,?'Bob':?75,?'Candy':?75,?'David':?86,?'Ellena':?49}這個時候我們發現,原來Bob的成績是60,現在變成75了,因為
d['Bob'] = 75的緣故。
因此我們發現這個賦值語句其實有兩個功能:- 當key不存在時,往dict中添加對應的key: value元素。
- 當key存在時,會更新dict,用新的value替換原來的value。
因此,在使用賦值語句往dict中添加元素時,為了避免不必要的覆蓋問題,我們需要先判斷key是否存在,然后再做更新。
查看全部 -
dict和list通過下標找到對應位置的元素是類似的。
回顧一下前面使用下標的方式訪問list元素的時候,當下標不存在時,就會引發錯誤,在dict中,也是一樣的,當對應的key不存在時,也會引發錯誤。d?=?{ ????'Alice':?45, ????'Bob':?60, ????'Candy':?75, ????'David':?86, ????'Ellena':?49, ????'Gaven':?86 } print(d['Dodo'])?除了使用這種方法,還有一種方法可以通過key來獲取對應的value,這種方法不會引起錯誤,dict本身提供get方法,把key當作參數傳遞給get方法,就可以獲取對應的value,當key不存在時,也不會報錯,而是返回None
print(d.get('Alice'))?#?==>?45 print(d.get('Dodo'))?#?==>?Non
查看全部 -
字典是一種數據結構,用于存儲數據以鍵值對的形式。每個鍵(key)都與一個特定的值(value)相關聯。這使得你可以通過鍵來快速查找和檢索相關聯的值。字典在各種編程語言中都有不同的實現,通常被稱為關聯數組、哈希表或映射。
以下是字典的一些基本特征和用途:
1. 鍵值對:字典包含多個鍵值對,每個鍵唯一地標識一個值。這意味著每個鍵在字典中只能出現一次。
2. 高效查找:字典的設計使得通過鍵來查找值非常高效,通常在常數時間復雜度內完成,因此適用于大規模數據的快速檢索。
3. 無序性:大多數編程語言中的字典是無序的,這意味著鍵值對的順序不固定,不像列表或數組那樣按照索引順序排列。
4. 可變性:許多字典是可變的,允許在運行時添加、修改或刪除鍵值對。但也有一些語言提供不可變的字典實現。
5. 用途廣泛:字典在編程中非常常見,用于解決各種問題,如配置管理、數據索引、數據緩存等。
不同編程語言中的字典可能有不同的名稱和語法,例如:
- 在Python中,字典被稱為字典(Dictionary),使用大括號 `{}` 來創建,例如 `my_dict = {"name": "John", "age": 30}`。
- 在JavaScript中,字典被稱為對象(Object),使用大括號 `{}` 和鍵值對來創建,例如 `let person = {name: "John", age: 30}`。
- 在Java中,字典可以使用 `HashMap` 或 `Hashtable` 等數據結構來表示。
總之,字典是一種重要的數據結構,它提供了一種便捷的方式來組織和檢索鍵值對數據。它在編程中廣泛用于存儲和操作各種類型的信息。
查看全部 -
name_set = set(['Jenny', 'Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl'])
name_set.discard('Jenny')
print(name_set) # ==> set(['Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl'])
name_set.discard('Jenny')
print(name_set) # ==> set(['Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl']查看全部 -
1. print后面沒有f
2.語句猴面包有用加分號
3.括號內單雙引號都可以查看全部 -
T?=?(1,?'CH',?[3,?4]) print(T)
前面我們學習了,對于tuple,它和list一個最大的不同點就是tuple是不可變的,tuple里面的元素,也是不可替換的。但是這針對的是僅包含基礎數據類型(數字類型、布爾類型、字符串類型)的數據,對于組合數據類型,則不受這個約束。
雖然tuple中的list元素改變了,但是tuple本身指向的list仍然是同一個list,list本身并沒有改變,改變的只是list里面的一個元素,這是tuple所約束不到的范圍。
查看全部 -
a??=?(100,?69,?29,?100,?72,?99,?98,?100,?75,?100,?100,?42,?88,?100) a.count(100)
?count()方法用來統計tuple中某個元素出現的次數。對于不存在的元素,count方法不會報錯,而是返回0,這是合理的,因為元組里面有0個不存在的元素。
?index()方法可以返回指定元素的下標,當一個元素多次重復出現時,則返回第一次出現的下標位置。注意,index()方法和count()方法不一樣,當指定的元素不存在時,使用index()方法Python會報錯。
查看全部 -
L?=?(1,2,3,4,5,6,7,8,9) print(L) T?=?list(L) print(T)
元組(tuple)和list一樣,也是一個有序容器,在元組中,同樣可以包含0個或者多個元素,并且也支持索引訪問、切片等操作。定義元組的方式是使用小括號()將元組內的元素括起來。
元組數據類型可以把不是元組的容器轉換為元組,比如將列表轉換成元組。
同樣的,對于列表數據類型,也可以把元組轉換成列表。
查看全部 -
L?=?[[1,?2,?3],?[5,?3,?2],?[7,?3,?2]] for?i?in?L: ????length?=?i[0] ????width?=?i[1] ????height?=?i[2] ????r?=?length*width*2+width*height*2+length*height*2 ????print(r)
查看全部 -
對于列表,除了可以向列表添加元素,刪除列表元素以外,列表已有的元素,也是可以修改的,通過索引指定位置,并賦值新的元素,即可替換列表中原有的元素。
?注意,如果替換一個不存在的下標,則同樣會引起Python運行錯誤。
查看全部 -
L?=?['Alice',?'Bob',?'Candy',?'David',?'Ellena'] L.pop(2) L.pop(2) print(L)
使用列表的pop()方法,pop()方法默認刪除列表的最后一個元素,并返回。
pop()方法,除了可以刪除最后一個元素以外,pop()還可以接收一個參數,指定需要刪除的元素的位置。
查看全部 -
Python基礎數據類型:整數【十進制、二進制(0b)、十六進制(0x)】、浮點數(小數)、字符串、布爾值【and(與運算)、or(或運算)、not(非運算)】、空值(None)
查看全部
舉報