小甲魚第十五課后習題--016列表


1、列表、元組和字符串的共同點:
1)都可以通過索引得到每一個元素
2)默認索引值總是從0開始
3)可以通過分片的方法得到一個范圍內的元素的集合
4)由很多共同的操作符(重復操作符,拼接操作符,成員關系操作符)
2、迭代:
重復反饋過程的活動,其目的通常是為了接近並達到所需的目標成果,每一次對過程的重復我們稱之為迭代。每一次迭代的結果作為下一次迭代的初始值。
3、一些重要的BIF:
1)list():把一個可迭代的對象轉換為列表
2)tuple([iterable]):把一個可迭代的對象轉化為元組
3)str(obj):把obj對象轉化為字符串
4)max(),min():返回序列或者參數集合中的最大或最小值
5)sum(iterable[,start=0]):返回序列iterable和可選參數start的總和
6)sorted():返回排序的列表,默認從小到大
    以下返回迭代器對象:
7)reversed():翻轉
8)enumerate():枚舉,生成由每個元素索引值和元素組成的元組
9)zip():返回各個參數的序列組成的元組
 
測試題:
0. 我們根據列表、元祖和字符串的共同特點,把它們三統稱為什么?
序列
序列,因為他們有以下共同點:    
1)都可以通過索引得到每一個元素
2)默認索引值總是從0開始(當然靈活的Python還支持負數索引)
3)可以通過分片的方法得到一個范圍內的元素的集合
4)有很多共同的操作符(重復操作符、拼接操作符、成員關系操作符)
 
1. 請問分別使用什么BIF,可以把一個可迭代對象轉換為列表、元祖和字符串?
list();tuple();str()
 
2. 你還能復述出“迭代”的概念嗎?
重復反饋過程的活動,其目的通常是為了接近並達到所需的目標成果,每一次對過程的重復我們稱之為迭代。每一次迭代的結果作為下一次迭代的初始值。
 
3. 你認為調用 max('I love FishC.com') 會返回什么值?為什么?
返回‘v’,字符串在計算機中是以ASCII碼的形式存儲,參數中ASCII碼值最大的是'v'對應的118
 
4. 恢復下圖被划掉的代碼:

 

 
if name == each[0]: 
name != each[0]: 
 
 
動動手:
0. 猜想一下 min() 這個BIF的實現過程:
  1. def min(x):  
  2.     least = x[0]  
  3.     for each in x:  
  4.         if each < least:  
  5.             least = each  
  6.     return least  
  7. print(min('123456789'))  
注:關於函數的定義和使用在下一講的課程中講解,目前只需要理解該BIF實現的原理即可。

 1. 視頻中我們說 sum() 這個BIF有個缺陷,就是如果參數里有字符串類型的話就會報錯,請寫出一個新的實現過程,自動“無視”參數里的字符串並返回正確的計算結果

  1. def sum(x):  
  2.     result = 0      
  3.     for each in x:  
  4.         if (type(each) == int) or (type(each) == float):  
  5.             result += each  
  6.         else:  
  7.             continue  
  8.     return result  
  9. print(sum([1, 2.1, 2.3, 'a', '1', True])) 
 


免責聲明!

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



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