我想使用 zip 迭代到現有串列。
我用下面的代碼做到了。目前的輸出只是名稱 --> 名稱。
如何使用新的創建串列,或者如果其他串列不可能列印以下句子:
“#NAME 已經 #AGE 歲了,可以在 #NUMBER 處呼叫他們”。是否可以在一個回圈中完成此操作?
birth_years = {"Alice": "1990", "Bob": "1990", "Carol": "1995", "Felix":"1995","Max":"1995","Chris":"1998","Lea":"1998","Linn":"1998","Julia":"1998"}
book = {"Alice": " 1554", "Bob": " 1885", "Carol": " 1006", "Felix":" 1604", "Max":" 1369","Chris":" 1882","Lea":" 1518","Linn":" 1742","Julia":" 1707"}
def test(birth_years, books):
new_list = []
for birth_year, book in zip(birth_years, books):
new_list.append(f'{birth_year} -> {book}')
return new_list
print(test(birth_years,books))
謝謝!!
BR
uj5u.com熱心網友回復:
zip不是這里的問題。問題是您的for回圈只會遍歷字典中的鍵,而不是鍵和值(請參閱此答案)
這樣做的正確方法是:
birth_years = {"Alice": "1990", "Bob": "1990", "Carol": "1995", "Felix":"1995","Max":"1995","Chris":"1998","Lea":"1998","Linn":"1998","Julia":"1998"}
books = {"Alice": " 1554", "Bob": " 1885", "Carol": " 1006", "Felix":" 1604", "Max":" 1369","Chris":" 1882","Lea":" 1518","Linn":" 1742","Julia":" 1707"}
def test(birth_years, books):
new_list = []
for [name, birth_year], [unused, number] in zip(birth_years.items(), books.items()):
new_list.append(f'{name} is {2022 - int(birth_year)} years old, and they can be called at {number}')
return new_list
print(test(birth_years,books))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/486714.html
