Python語句list(range(1,10,3))執(zhí)行結(jié)果為[1,4,7]。
成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團(tuán)成都定制網(wǎng)站等服務(wù)項(xiàng)目。核心團(tuán)隊(duì)均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:汽車玻璃修復(fù)等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時(shí)也獲得了客戶的一致贊美!
語法是:range(start,stop[,step])
參數(shù)說明:
(1)start:計(jì)數(shù)從start開始,默認(rèn)是從0開始。例如range(5)等價(jià)于range(0,5);
(2)stop:計(jì)數(shù)到stop結(jié)束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]沒有5;
(3)step:步長,默認(rèn)為1。例如:range(0,5)等價(jià)于range(0,5,1)。
因此,range(1,10,3)的意思是1到10之間的tuple,間隔為3,所以結(jié)果是(1,4,7)。
列表(List)是最常用的Python數(shù)據(jù)類型,它可以作為一個(gè)方括號內(nèi)的逗號分隔值出現(xiàn)。
所以,list(range(1,10,3))執(zhí)行結(jié)果為[1,4,7]。
擴(kuò)展資料
Python列表函數(shù)方法
Python包含以下函數(shù):
1、cmp(list1, list2):比較兩個(gè)列表的元素;
2、len(list):列表元素個(gè)數(shù);
3、max(list):返回列表元素最大值;
4、min(list):返回列表元素最小值;
5、list(seq):將元組轉(zhuǎn)換為列表。
Python包含以下方法:
1、list.append(obj):在列表末尾添加新的對象;
2、list.count(obj):統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù);
3、list.extend(seq):在列表末尾一次性追加另一個(gè)序列中的多個(gè)值(用新列表擴(kuò)展原來的列表);
4、list.index(obj):從列表中找出某個(gè)值第一個(gè)匹配項(xiàng)的索引位置;
5、list.insert(index, obj):將對象插入列表;
6、list.pop([index=-1]):移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素),并且返回該元素的值;
7、list.remove(obj):移除列表中某個(gè)值的第一個(gè)匹配項(xiàng);
8、list.reverse():反向列表中元素;
9、list.sort(cmp=None, key=None, reverse=False):對原列表進(jìn)行排序。
1、方法一: 利用數(shù)組自身的特性 a.index(target), 其中a是目標(biāo)list,target是需要的下標(biāo)對應(yīng)的值。代碼如下:
可知索引為2。但是如果a中有多個(gè)76元素,這種方法僅僅能獲取都第一個(gè)匹配的value的下標(biāo)索引。
2、方法二:利用enumerate函數(shù)。
代碼如下:
運(yùn)行結(jié)果:
擴(kuò)展資料:
python通過索引的操作(Python包含6種內(nèi)建序列:列表、元組、字符串、Unicode字符串、buffer對象、xrange對象):
1、索引:
負(fù)數(shù)索引與正數(shù)索引之間存在一個(gè)規(guī)律: 當(dāng)正數(shù)索引+負(fù)數(shù)索引的絕對值=元素的個(gè)數(shù),它們所指的是同一個(gè)元素。
2、分片:
分片用于截取某個(gè)范圍內(nèi)的元素,通過:來指定起始區(qū)間(左閉右開區(qū)間,包含左側(cè)索引值對應(yīng)的元素,但不包含右測索引值對應(yīng)的元素)。
分片包括起始索引對應(yīng)的元素,但不包括終止索引對應(yīng)的元素,索引為正值時(shí)可以發(fā)生越界但只會取到最后一個(gè)元素。如果索引值為負(fù)值,則表示從最右邊元素開始,此時(shí)需避免索引越界。
轉(zhuǎn)自
Python? range() 函數(shù)返回的是一個(gè)可迭代對象(類型是對象),而不是列表類型, 所以打印的時(shí)候不會打印列表。
函數(shù)語法:
range(stop)range(start,stop,step)//默認(rèn)start為0,step為1
Python? list() 函數(shù)是對象迭代器,可以把range()返回的可迭代對象轉(zhuǎn)為一個(gè)列表,返回的變量類型為列表。
list() 方法用于將元組轉(zhuǎn)換為列表。
注: 元組與列表是非常類似的,區(qū)別在于元組的元素值不能修改,元組是放在括號中( ),列表是放于方括號中[ ]。
元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號
tup1=(50,)
list、元組與字符串的索引一樣,列表索引從0開始。列表可以進(jìn)行截取、組合等。
1、首先打開excel表格,在單元格中輸入兩列數(shù)據(jù),需要將這兩列數(shù)據(jù)進(jìn)行比對相同數(shù)據(jù)。
2、然后在C1單元格中輸入公式:=VLOOKUP(B1,A:A,1,0),意思是比對B1單元格中A列中是否有相同數(shù)據(jù)。
3、點(diǎn)擊回車,即可將公式的計(jì)算結(jié)果顯示出來,可以看到C1中顯示的是B1在A列中找到的相同數(shù)據(jù)。
4、將公式向下填充,即可發(fā)現(xiàn)C列中顯示出的數(shù)字即為有相同數(shù)據(jù)的,顯示“#N/A”的為沒有找到匹配數(shù)據(jù)的。
5、將C1-C4中的數(shù)據(jù)進(jìn)行復(fù)制并粘貼成數(shù)值,即可完成相同數(shù)據(jù)的提取操作。
在實(shí)際研究中,我們經(jīng)常需要獲取大量數(shù)據(jù),而這些數(shù)據(jù)很大一部分以pdf表格的形式呈現(xiàn),如公司年報(bào)、發(fā)行上市公告等。面對如此多的數(shù)據(jù)表格,采用手工復(fù)制黏貼的方式顯然并不可取。那么如何才能高效提取出pdf文件中的表格數(shù)據(jù)呢?
Python提供了許多可用于pdf表格識別的庫,如camelot、tabula、pdfplumber等。綜合來看,pdfplumber庫的性能較佳,能提取出完整、且相對規(guī)范的表格。因此,本推文也主要介紹pdfplumber庫在pdf表格提取中的作用。
作為一個(gè)強(qiáng)大的pdf文件解析工具,pdfplumber庫可迅速將pdf文檔轉(zhuǎn)換為易于處理的txt文檔,并輸出pdf文檔的字符、頁面、頁碼等信息,還可進(jìn)行頁面可視化操作。使用pdfplumber庫前需先安裝,即在cmd命令行中輸入:
pip install pdfplumber
pdfplumber庫提供了兩種pdf表格提取函數(shù),分別為.extract_tables( )及.extract_table( ),兩種函數(shù)提取結(jié)果存在差異。為進(jìn)行演示,我們網(wǎng)站上下載了一份短期融資券主體信用評級報(bào)告,為pdf格式。任意選取某一表格,其界面如下:
接下來,我們簡要分析兩種提取模式下的結(jié)果差異。
(1).extract_tables( )
可輸出頁面中所有表格,并返回一個(gè)嵌套列表,其結(jié)構(gòu)層次為table→row→cell。此時(shí),頁面上的整個(gè)表格被放入一個(gè)大列表中,原表格中的各行組成該大列表中的各個(gè)子列表。若需輸出單個(gè)外層列表元素,得到的便是由原表格同一行元素構(gòu)成的列表。例如,我們執(zhí)行如下程序:
輸出結(jié)果:
(2).extract_table( )
返回多個(gè)獨(dú)立列表,其結(jié)構(gòu)層次為row→cell。若頁面中存在多個(gè)行數(shù)相同的表格,則默認(rèn)輸出頂部表格;否則,僅輸出行數(shù)最多的一個(gè)表格。此時(shí),表格的每一行都作為一個(gè)單獨(dú)的列表,列表中每個(gè)元素即為原表格的各個(gè)單元格內(nèi)容。若需輸出某個(gè)元素,得到的便是具體的數(shù)值或字符串。如下:
輸出結(jié)果:
在此基礎(chǔ)上,我們詳細(xì)介紹如何從pdf文件中提取表格數(shù)據(jù)。其中一種思路便是將提取出的列表視為一個(gè)字符串,結(jié)合Python的正則表達(dá)式re模塊進(jìn)行字符串處理后,將其保存為以標(biāo)準(zhǔn)英文逗號分隔、可被Excel識別的csv格式文件,即進(jìn)行如下操作:
輸出結(jié)果:
盡管能獲得完整的表格數(shù)據(jù),但這種方法相對不易理解,且在處理結(jié)構(gòu)不規(guī)則的表格時(shí)容易出錯(cuò)。由于通過pdfplumber庫提取出的表格數(shù)據(jù)為整齊的列表結(jié)構(gòu),且含有數(shù)字、字符串等數(shù)據(jù)類型。因此,我們可調(diào)用pandas庫下的DataFrame( )函數(shù),將列表轉(zhuǎn)換為可直接輸出至Excel的DataFrame數(shù)據(jù)結(jié)構(gòu)。DataFrame的基本構(gòu)造函數(shù)如下:
DataFrame([data,index, columns])
三個(gè)參數(shù)data、index和columns分別代表創(chuàng)建對象、行索引和列索引。DataFrame類型可由二維ndarray對象、列表、字典、元組等創(chuàng)建。本推文中的data即指整個(gè)pdf表格,提取程序如下:
其中,table[1:]表示選定整個(gè)表格進(jìn)行DataFrame對象創(chuàng)建,columns=table[0]表示將表格第一行元素作為列變量名,且不創(chuàng)建行索引。輸出Excel表格如下:
通過以上簡單程序,我們便提取出了完整的pdf表格。但需注意的是,面對不規(guī)則的表格數(shù)據(jù)提取,創(chuàng)建DataFrame對象的方法依然可能出錯(cuò),在實(shí)際操作中還需進(jìn)行核對。
關(guān)于我們
微信公眾號“爬蟲俱樂部”分享實(shí)用的stata命令,歡迎轉(zhuǎn)載、打賞。爬蟲俱樂部是由李春濤教授領(lǐng)導(dǎo)下的研究生及本科生組成的大數(shù)據(jù)分析和數(shù)據(jù)挖掘團(tuán)隊(duì)。
投稿要求:
1)必須原創(chuàng),禁止抄襲;
2)必須準(zhǔn)確,詳細(xì),有例子,有截圖;