1. 程式人生 > >python3 _笨方法學Python_日記_DAY7

python3 _笨方法學Python_日記_DAY7

del 接受 com 分享 spa span class 讓我 變量

習題 40: 字典, 可愛的字典

回顧一下列表:

技術分享圖片

列表可以通過數字,從0開始的數字來索引列表中的元素

而字典dict,可以通過任何東西找到元素,可以將一個東西和另一個相關聯

技術分享圖片

還可以通過字符串向字典中添加

stuff = {name: Zed, age: 18, height: 6**6}
stuff[city] = San Francisco
print(stuff[city])
stuff[1] = Wow
stuff[2] = Neato
print(stuff)
San Francisco
{name: Zed, age: 18, 
height: 46656, city: San Francisco, 1: Wow, 2: Neato}

通過del來刪除

stuff = {name: Zed, age: 18, height: 6**6}
stuff[city] = San Francisco
print(stuff[city])
stuff[1] = Wow
stuff[2] = Neato
print(stuff)

del stuff[city]
del stuff[1]
del stuff[2]
print(stuff)
San Francisco
{
name: Zed, age: 18, height: 46656, city: San Francisco, 1: Wow, 2: Neato} {name: Zed, age: 18, height: 46656}

練習:

cities = {CA: San Francisco, MI: Detroit,
          EL: Jacksonville}

cities[NY] = New York
cities[OR] = Portland

def find_city(themap, state):
    
if state in themap: return themap[state] else: return "Not Found." cities[_find] = find_city while True: print("State?(ENTER to quit") state = input(">") if not state:break city_found = cities[_find](cities,state) print(city_found)

結果

State?(ENTER to quit
>YK
Not Found.
State?(ENTER to quit
>NY
New York
State?(ENTER to quit
>OR
Portland
State?(ENTER to quit
>CA
San Francisco
State?(ENTER to quit
>

Process finished with exit code 0

1. Python 看到 city_found = 於是知道了需要創建一個變量。
2. 然後它讀到 cities ,然後知道了它是一個字典
3. 然後看到了 [‘_find‘] ,於是 Python 就從索引找到了字典 cities 中對應的位
置,並且獲取了該位置的內容。
4. [‘_find‘] 這個位置的內容是我們的函數 find_city ,所以 Python 就知道了
這裏表示一個函數,於是當它碰到 ( 就開始了函數調用。
5. cities, state 這兩個參數將被傳遞到函數 find_city 中,然後這個函數就被
運行了。
6. find_city 接著從 cities 中尋找 states ,並且返回它找到的內容,如果什麽
都沒找到,就返回一個信息說它什麽都沒找到。
7. Python find_city 接受返回的信息,最後將該信息賦值給一開始
city_found 這個變量。

如果你倒著閱讀的話,代碼可能會變得更容易理解。讓我
們來試一下,一樣是那行:
1. state city ...
2. 作為參數傳遞給...
3. 一個函數,位置在...
133
4. ‘_find‘ 然後尋找,目的地為...
5. cities 這個位置...
6. 最後賦值給 city_found.
還有一種方法讀它,這回是由裏向外
1. 找到表達式的中心位置,此次為 [‘_find‘].
2. 逆時針追溯,首先看到的是一個叫 cities 的字典,這樣就知道了 cities
_find 元素。
3. 上一步得到一個函數。繼續逆時針尋找,看到的是參數。
4. 參數傳遞給函數後,函數會返回一個值。然後再逆時針尋找。
5. 最後,我們到了 city_found = 的賦值位置,並且得到了最終結果。



python3 _笨方法學Python_日記_DAY7