Python range()函數(shù)可創(chuàng)建一個整數(shù)列表,一般用在for循環(huán)中。
成都創(chuàng)新互聯(lián)專注于萊山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供萊山營銷型網(wǎng)站建設(shè),萊山網(wǎng)站制作、萊山網(wǎng)頁設(shè)計、萊山網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造萊山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供萊山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
注意:Python3 range()返回的是一個可迭代對象,類型是對象,而不是列表類型,所以打印的時候不會打印列表。
函數(shù)語法:
range(start,stop[,step])
參數(shù)說明:
start:計數(shù)從start開始。默認是從0開始。例如range(5)等價于range(0,5);
stop:計數(shù)到stop結(jié)束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]沒有5;
step:步長,默認為1。例如:range(0,5)等價于range(0,5,1)。
實例:
range(10) # 從 0 開始到 9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1, 11) # 從 1 開始到 10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
range(0, 30, 5) # 步長為 5
[0, 5, 10, 15, 20, 25]
range(0, 10, 3) # 步長為 3
[0, 3, 6, 9]
range(0, -10, -1) # 負數(shù)
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
range(0)
[]
range(1, 0)
[]
以下是range在for中的使用,循環(huán)出runoob的每個字母:
x = 'runoob'
for i in range(len(x)) :
... print(x[i])
...
r
u
n
o
o
b
轉(zhuǎn)自
Python? range() 函數(shù)返回的是一個可迭代對象(類型是對象),而不是列表類型, 所以打印的時候不會打印列表。
函數(shù)語法:
range(stop)range(start,stop,step)//默認start為0,step為1
Python? list() 函數(shù)是對象迭代器,可以把range()返回的可迭代對象轉(zhuǎn)為一個列表,返回的變量類型為列表。
list() 方法用于將元組轉(zhuǎn)換為列表。
注: 元組與列表是非常類似的,區(qū)別在于元組的元素值不能修改,元組是放在括號中( ),列表是放于方括號中[ ]。
元組中只包含一個元素時,需要在元素后面添加逗號
tup1=(50,)
list、元組與字符串的索引一樣,列表索引從0開始。列表可以進行截取、組合等。
內(nèi)置函數(shù)就是Python給你提供的,拿來直接用的函數(shù),比如print.,input等。
截止到python版本3.6.2 ,python一共提供了68個內(nèi)置函數(shù),具體如下
本文將這68個內(nèi)置函數(shù)綜合整理為12大類,正在學(xué)習(xí)Python基礎(chǔ)的讀者一定不要錯過,建議收藏學(xué)習(xí)!
(1)列表和元組
(2)相關(guān)內(nèi)置函數(shù)
(3)字符串
frozenset 創(chuàng)建一個凍結(jié)的集合,凍結(jié)的集合不能進行添加和刪除操作。
語法:sorted(Iterable, key=函數(shù)(排序規(guī)則), reverse=False)
語法:fiter(function. Iterable)
function: 用來篩選的函數(shù). 在?lter中會自動的把iterable中的元素傳遞給function. 然后根據(jù)function返回的True或者False來判斷是否保留留此項數(shù)據(jù) , Iterable: 可迭代對象
搜索公眾號頂級架構(gòu)師后臺回復(fù)“面試”,送你一份驚喜禮包。
語法 : map(function, iterable)
可以對可迭代對象中的每一個元素進行映射. 分別去執(zhí)行 function
hash : 獲取到對象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空間換的時間 比較耗費內(nèi)存
【常見的內(nèi)置函數(shù)】
1、enumerate(iterable,start=0)
是python的內(nèi)置函數(shù),是枚舉、列舉的意思,對于一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值。
2、zip(*iterables,strict=False)
用于將可迭代的對象作為參數(shù),將對象中對應(yīng)的元素打包成一個個元組,然后返回由這些元組組成的列表。如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。
3、filter(function,iterable)
filter是將一個序列進行過濾,返回迭代器的對象,去除不滿足條件的序列。
4、isinstance(object,classinfo)
是用來判斷某一個變量或者是對象是不是屬于某種類型的一個函數(shù),如果參數(shù)object是classinfo的實例,或者object是classinfo類的子類的一個實例,
返回True。如果object不是一個給定類型的的對象, 則返回結(jié)果總是False
5、eval(expression[,globals[,locals]])
用來將字符串str當(dāng)成有效的表達式來求值并返回計算結(jié)果,表達式解析參數(shù)expression并作為Python表達式進行求值(從技術(shù)上說是一個條件列表),采用globals和locals字典作為全局和局部命名空間。
【常用的句式】
1、format字符串格式化
format把字符串當(dāng)成一個模板,通過傳入的參數(shù)進行格式化,非常實用且強大。
2、連接字符串
常使用+連接兩個字符串。
3、if...else條件語句
Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。其中if...else語句用來執(zhí)行需要判斷的情形。
4、for...in、while循環(huán)語句
循環(huán)語句就是遍歷一個序列,循環(huán)去執(zhí)行某個操作,Python中的循環(huán)語句有for和while。
5、import導(dǎo)入其他腳本的功能
有時需要使用另一個python文件中的腳本,這其實很簡單,就像使用import關(guān)鍵字導(dǎo)入任何模塊一樣。
列表是一種有序的集合,有點類似c里面的數(shù)組。它的特點是,可以隨時向里面添加或刪除其中的元素,在python中經(jīng)常用來存放數(shù)據(jù)。列表的特點是中括號,內(nèi)部元素用逗號隔開。
在這個列表中,可以放進去任何元素,不論你的元素是字符串、整型、浮點型、還是布爾值、空值,包括列表什么的,都可以放進去。
元素與元素之間,用逗號隔開。
列表會為每個元素分配序號,這個序號代表它的位置,稱為索引(index),第一個元素的位置是0,第二個元素是1,以此類推。
使用索引獲取列表中的值時,需要使用中括號來訪問,在中括號前面加上列表名,中括號內(nèi)部是元素的索引。
0代表第一個元素的位置,1代表第二個,-1代表倒數(shù)第一個,-2代表倒數(shù)第二個
使用 len() 函數(shù),可以查看列表里面有多少個元素
在python中,列表的操作是非常的靈活的,我們可以向其中添加或刪除元素。
添加使用 list.append() 函數(shù)
list.append() 函數(shù)是將元素插入到列表的末尾,當(dāng)我們想在特定位置插入元素時可以使用 list.insert() 函數(shù)
list.insert() 函數(shù)接受兩個參數(shù),第一個參數(shù)是插入位置,第二個參數(shù)是要插入的元素。
需要注意的是,在使用append和insert時,必須在前面注明要操作的列表。就像上面的例子,我們要操作classmates這個列表,所以必須寫成 classmates.append() 或 classmates.insert() ,如果不這么寫,計算機就不知道你要往哪個列表中加入元素。
沒有特殊情況的話,推薦使用append()函數(shù)添加元素,因為使用append的時候,元素默認加在列表尾部,不會造成其他元素索引值的改變。如果使用insert的話,就像上面的insert(1,'Tom'),在位置1插入'Tom'后,Tom后面所有的元素,索引值都加了一個1,列表中元素越多,受影響的程度越大,因此使用append()函數(shù)要比insert()函數(shù)更快。
刪除列表中元素的方法有三種
del后面需要用索引的方式表明要刪除的元素,也就是上面的例子,names[1]代表names中的第二個元素,使用del即可刪除
list.pop() 函數(shù)與del差不多,都是使用索引值進行刪除,只不過寫法不同。
我們可以發(fā)現(xiàn),執(zhí)行 names.pop(1) 后,python shell打印出了第二個元素的值,也就是我們要刪除的那個值,這是因為 pop() 這個函數(shù),是有返回值的,有時候我們需要使用這個值,這個時候就可以用變量存起來。
這樣我們就可以通過調(diào)用a而使用剛才刪掉的元素了。
list.remove() 函數(shù)的作用是刪除第一個匹配的元素,上面的例子中,names這個列表里面,有兩個'Bob',remove函數(shù)只刪除了第一個'Bob'。這就是 list.remove() 函數(shù)的特點。
有時候我們想使用列表的前10個元素,或者前n個元素,這時候就應(yīng)該使用列表的切片。
切片和索引類似,都是使用中括號,區(qū)別是,索引中的中括號里面只有一個數(shù),而切片不同。切片是切割列表,形成切割下來的部分形成新的列表。
切片: list[start:end:[step=1]] ,這就是切片的表達式,要求start和end兩者必須有一個,step不是可以不指定,不指定的時候默認為1。
切片該怎么理解呢,start就是開始的位置,end就是結(jié)束的位置。切片有個特點是“取前不取后”,看上面那個例子可以發(fā)現(xiàn),1作為start,3作為end,1代表第二個元素,3代表第四個元素,列表切片的時候,是不取后面的那個數(shù)字對應(yīng)的元素的,也就是不取第四個元素,所以names[1:3]只取了第二個元素和第三個元素,這就是所謂的取前不取后。
再看下一個例子。
當(dāng)不指定start或者end的時候,start默認為0,end默認為最后一個元素的索引值+1,因為“取前不取后”,要想取到最后一個元素,必須加個1才行。
上例中,用 len(numbers) 表示了最后一個元素的索引值,因為索引值從0開始,最后一個元素的索引值一定是列表內(nèi)元素個數(shù)-1,根據(jù)“取前不取后”,在end位置上的數(shù)字應(yīng)該+1,所以最后就等于 len(numbers) 了。
當(dāng)不設(shè)定start和end的時候,就默認取所有的元素了。
當(dāng)加入step,這個選項后,step代表步長,默認為1,設(shè)定成2的時候,就是隔一個取一個,設(shè)定成3時就是隔兩個取一個。
上例中,第一個切片,start和end均未設(shè)定,因此從第一個元素開始,隔一個取一個,得到了所有奇數(shù)位置的元素。
第二個切片,start設(shè)定為了1,因此取了所有偶數(shù)位置的元素。
3在列表中,0不在列表中,所以 3 in a 是True,而 0 in a 是False
更多關(guān)于列表的信息可以通過使用 help(list) 查看幫助文檔。