1、根據(jù)列表、元組、字符串的共同特點(diǎn),把它們?nèi)齻€(gè)統(tǒng)稱(chēng)為什么?
統(tǒng)稱(chēng)為序列,它們有這些共同點(diǎn):
1)都可以由索引得到每一個(gè)元素
2)默認(rèn)索引值總是從0開(kāi)始(Python/ target=_blank class=infotextkey>Python還支持負(fù)數(shù)索引)
3)可以通過(guò)分片的方法得到一個(gè)范圍內(nèi)的元素的集合
4)有很多共同的操作符(重復(fù)操作符、拼接操作符、成員關(guān)系操作符)
2、分別使用什么BIF,可以把一個(gè)可迭代對(duì)象轉(zhuǎn)換為列表、元組、字符串?
list([iterable])把可迭代對(duì)象轉(zhuǎn)換為列表。
list作為一個(gè)方法有兩個(gè)形態(tài),一個(gè)形態(tài)是有參數(shù),一個(gè)形態(tài)是沒(méi)有參數(shù)的。
tuple的使用方式和list是一樣的。
tuple([iterable])把可迭代對(duì)象轉(zhuǎn)換為元組。
str(obj)把對(duì)象轉(zhuǎn)換為字符串。
len()是返回參數(shù)的長(zhǎng)度。
max()方法返回參數(shù)、序列、集合中的最大值。
min()返回序列、參數(shù)中的最小值。
使用min()或者是max()方法要保證序列或者參數(shù)的數(shù)據(jù)類(lèi)型是統(tǒng)一的,可以是全部都是字符、全部都是整數(shù)等。
max方法的實(shí)現(xiàn)原理如下:
sum(iterable,[start=0]),start參數(shù)是可選的,iterable參數(shù)是必備的,返回序列iterable的總和。sum()這個(gè)BIF有個(gè)缺陷,如果參數(shù)里有字符串類(lèi)型就會(huì)報(bào)錯(cuò)。
從小到大排序,用sorted()實(shí)現(xiàn)。
reversed返回迭代器對(duì)象,用list方式轉(zhuǎn)換為列表。
enumerate生成由每個(gè)元素組成的元組。
zip返回由各個(gè)參數(shù)的序列組成的元組。
3、什么是“迭代”?
iterable是一個(gè)迭代器,迭代是重復(fù)反饋過(guò)程的活動(dòng),目的是為了接近并到達(dá)所需要的目標(biāo)。每一次對(duì)過(guò)程的重復(fù)被稱(chēng)為一次“迭代”,而每一次迭代得到的結(jié)果會(huì)被用來(lái)作為下一次迭代的初始值。
4、調(diào)用max(‘I love you ’)會(huì)返回什么?為什么?
會(huì)返回‘Y’,因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存儲(chǔ)(ASCII對(duì)照表:
http://bbs.fishc.com/thread-41199-1-1.html),參數(shù)中ASCII碼值最大的是'Y’對(duì)應(yīng)的121。