[課后作業] 第012講:列表:一個打了激素的數組3 | 課后測試題的答案


0. 注意,這道題跟上節課的那道題有點兒不同,回答完請上機實驗或參考答案。

  1. >>> old = [1, 2, 3, 4, 5]
  2. >>> new = old
  3. >>> old = [6]
  4. >>> print(new)
復制代碼


會打印:[1, 2, 3, 4, 5]
  
如有不理解的朋友請看上一講課后作業的詳細答案。
  
  
1. 請問如何將下邊這個列表的'小甲魚'修改為'小魷魚'?

  1. list1 = [1, [1, 2, ['小甲魚']], 3, 5, 8, 13, 18]
  2. list1[1][2][0] = '小魷魚'
復制代碼



2. 要對一個列表進行順序排序,請問使用什么方法?

  1. >>> 列表名.sort()
復制代碼



3. 要對一個列表進行逆序排序,請問使用什么方法?

  1. >>> 列表名.sort()
  2. >>> 列表名.reverse()
復制代碼

或者

  1. >>> 列表名.sort(reverse=True)
復制代碼



4. 列表還有兩個內置方法沒給大家介紹,不過聰明的你應該可以自己摸索使用的門道吧:copy() 和 clear()

  
copy() 方法跟使用切片拷貝是一樣的:

  1. >>> list2 = list1.copy()
  2. >>> list2
  3. [1, [1, 2, ['小甲魚']], 3, 5, 8, 13, 18]
復制代碼


clear() 方法用於清空列表的元素,但要注意,清空完后列表仍然還在哦,只是變成一個空列表。

  1. >>> list2.clear()
  2. >>> list2
  3. []
復制代碼



5. 問題:請先在 IDLE 中獲得下邊列表的結果,並按照上方例子把列表推導式還原出來。

  1. >>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
復制代碼
  1. list1 = []
  2. for x in range(10):
  3.     for y in range(10):
  4.         if x%2 == 0:
  5.             if y%2 != 0:
  6.                 list1.append((x, y))
復制代碼



6. 活學活用:請使用列表推導式補充被小甲魚不小心塗掉的部分

    

  1. >>> list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]
復制代碼



7. 請寫下這一節課你學習到的內容:格式不限,回憶並復述是加強記憶的好方式!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM