0. 注意,這道題跟上節課的那道題有點兒不同,回答完請上機實驗或參考答案。
- >>> old = [1, 2, 3, 4, 5]
- >>> new = old
- >>> old = [6]
- >>> print(new)
會打印:[1, 2, 3, 4, 5]
如有不理解的朋友請看上一講課后作業的詳細答案。
1. 請問如何將下邊這個列表的'小甲魚'修改為'小魷魚'?
- list1 = [1, [1, 2, ['小甲魚']], 3, 5, 8, 13, 18]
- list1[1][2][0] = '小魷魚'
2. 要對一個列表進行順序排序,請問使用什么方法?
- >>> 列表名.sort()
3. 要對一個列表進行逆序排序,請問使用什么方法?
- >>> 列表名.sort()
- >>> 列表名.reverse()
或者
- >>> 列表名.sort(reverse=True)
4. 列表還有兩個內置方法沒給大家介紹,不過聰明的你應該可以自己摸索使用的門道吧:copy() 和 clear()
copy() 方法跟使用切片拷貝是一樣的:
- >>> list2 = list1.copy()
- >>> list2
- [1, [1, 2, ['小甲魚']], 3, 5, 8, 13, 18]
clear() 方法用於清空列表的元素,但要注意,清空完后列表仍然還在哦,只是變成一個空列表。
- >>> list2.clear()
- >>> list2
- []
5. 問題:請先在 IDLE 中獲得下邊列表的結果,並按照上方例子把列表推導式還原出來。
- >>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
- list1 = []
- for x in range(10):
- for y in range(10):
- if x%2 == 0:
- if y%2 != 0:
- list1.append((x, y))
6. 活學活用:請使用列表推導式補充被小甲魚不小心塗掉的部分
- >>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
7. 請寫下這一節課你學習到的內容:格式不限,回憶並復述是加強記憶的好方式!