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)都可以通過索引得到每一個元素
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的實現過程:
- def min(x):
- least = x[0]
- for each in x:
- if each < least:
- least = each
- return least
- print(min('123456789'))
1. 視頻中我們說 sum() 這個BIF有個缺陷,就是如果參數里有字符串類型的話就會報錯,請寫出一個新的實現過程,自動“無視”參數里的字符串並返回正確的計算結果
- def sum(x):
- result = 0
- for each in x:
- if (type(each) == int) or (type(each) == float):
- result += each
- else:
- continue
- return result
- print(sum([1, 2.1, 2.3, 'a', '1', True]))