內建練習:map()
在這個練習中,你將練習使用 Python 的內建 map() 函式,把某個函式套用到物件的每個元素。先看一份派對來賓名單:
names = ['Jerry', 'Kramer', 'Elaine', 'George', 'Newman']
假設你想建立一個新串列(命名為 names_uppercase),把每個姓名的所有字母都轉成大寫。你可以用下面的 for 迴圈達成:
names_uppercase = []
for name in names:
names_uppercase.append(name.upper())
['JERRY', 'KRAMER', 'ELAINE', 'GEORGE', 'NEWMAN']
現在來試試使用 map(),用一行程式碼更有效率地完成這件事。
本練習屬於課程
撰寫高效的 Python 程式碼
練習說明
- 使用
map()和方法str.upper(),將串列names中的每個姓名轉成大寫。將結果存到變數names_map。 - 列印
names_map的資料型別。 - 使用星號(
*)將names_map的內容解包成名為names_uppercase的串列。 - 列印
names_uppercase並觀察其內容。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Use map to apply str.upper to each element in names
names_map = ____(____, ____)
# Print the type of the names_map
print(____(____))
# Unpack names_map into a list
names_uppercase = [____]
# Print the list created above
print(____)