所以目前我正在開發一個函式,您可以在其中添加您訪問的國家、訪問的時間和訪問的城市到串列中但是每當我通過函式將引數添加到串列中時,我都會收到型別錯誤
這是我的代碼 ps:我還在學習,要求是我必須通過函式添加專案
代碼
travel_log = [
{
"country": "France",
"visits": 12,
"cities": ["Paris", "Lille", "Dijon"]
},
{
"country": "Germany",
"visits": 5,
"cities": ["Berlin", "Hamburg", "Stuttgart"]
},
]
#?? Do NOT change the code above
def add_new_country(country, times_visited, cities_visited):
travel_log["country"] = country
travel_log["times_visited"] = times_visited
travel_log["Cities_visited"] = cities_visited
#?? Do not change the code below
add_new_country("Russia", 2, ["Moscow", "Saint Petersburg"])
print(travel_log)
錯誤
Traceback (most recent call last):
File "C:\Users\(my name is here)\2.py", line 21, in <module>
add_new_country("Russia", 2, ["Moscow", "Saint Petersburg"])
File "C:\Users\(also my name)\2.py", line 15, in add_new_country
travel_log["country"] = country
TypeError: list indices must be integers or slices, not str
uj5u.com熱心網友回復:
您可以將字典附加到串列中:
def add_new_country(country, times_visited, cities_visited):
travel_log.append({'country': country, 'visits': times_visited, 'cities': cities_visited})
uj5u.com熱心網友回復:
您使用的是 list 而不是 dict ,并且國家應該是關鍵
代替:
travel_log = [
{
"country": "France",
"visits": 12,
"cities": ["Paris", "Lille", "Dijon"]
},
{
"country": "Germany",
"visits": 5,
"cities": ["Berlin", "Hamburg", "Stuttgart"]
},
]
你應該有:
travel_log ={"France":{ "visits": 12, "cities": ["Paris", "Lille", "Dijon"]},
{"Germany","visits": 5, "cities": ["Berlin", "Hamburg", "Stuttgart"]}}
并始終添加檢查 dict 中是否存在鍵,否則您將覆寫舊資料而不是更新值
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/497565.html
上一篇:使用主鍵合并/連接多個字典
