99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀Python中列表和元組的相關(guān)語(yǔ)句和方法講解
Python中列表和元組的相關(guān)語(yǔ)句和方法講解
2017-08-23
收藏

Python中列表和元組的相關(guān)語(yǔ)句和方法講解

這篇文章主要介紹了Python中列表和元組的相關(guān)語(yǔ)句和方法講解,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

列表(list):

首先,列表屬于序列,那么序列類(lèi)型可用如下內(nèi)建函數(shù)——
list(iter):把可迭代對(duì)象轉(zhuǎn)換為列表。
str(obj):把obj對(duì)象轉(zhuǎn)換為字符串,即用字符串來(lái)表示這個(gè)對(duì)象。
tuple(iter):把一個(gè)可迭代對(duì)象轉(zhuǎn)換為一個(gè)元組。
unicode(obj):把對(duì)象轉(zhuǎn)換成Unicode字符串。
basestring():抽象工廠函數(shù),其作用僅僅是為str和unicode函數(shù)提供父類(lèi),所以不能被實(shí)例化,也不能被調(diào)用。
enumerate(iter):接受一個(gè)可迭代對(duì)象作為參數(shù),返回一個(gè)enumerate對(duì)象,該對(duì)象生成由iter每個(gè)元素的index值和item值組成的元組。
len(seq):返回seq的長(zhǎng)度。
max(iter,key=None)、max(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最大值,如果指定了key,這個(gè)key必須是一個(gè)可以傳給sort()方法的,用于比較的回調(diào)函數(shù)。
min(iter,key=None)、min(arg0,arg1...,key=None):返回iter或(arg0,arg1...)的最小值,如果指定了key,這個(gè)key必須是一個(gè)可以傳給sort()方法的,用于比較的回調(diào)函數(shù)。
reversed(seq):接受一個(gè)序列作為參數(shù),返回一個(gè)以逆序訪問(wèn)的迭代器。
sorted(iter,cmp=None,key=None,reverse=False):接受一個(gè)可迭代對(duì)象作為參數(shù),返回一個(gè)有序的列表,可選參數(shù)cmp、key和reverse和list.sort()內(nèi)建函數(shù)含義一樣。
sum(seq,init=0):返回seq和可選參數(shù)init的總和,其效果等同于reduce(operator.add,seq,init)。
zip([it0,it1...]):返回一個(gè)列表,其第一個(gè)元素是it0、it1...這些元素的第一個(gè)元素組成的一個(gè)元組,其它元素依次類(lèi)推。

列表就像一個(gè)線性容器,但是比C++的 lis t擴(kuò)展多得多
列表里的元素可以是相同類(lèi)型,也可以包含各種類(lèi)型,比如列表里嵌套另一個(gè)列表

列表示例:    

list的索引是也是從0開(kāi)始,但也可以從后訪問(wèn),L1[-1] 表示L1中的最后一個(gè)元素    
>>> L1
[['sub'], 1, 'n']
>>> L1[0]
['sub']
>>> L1[-1]
'n'

對(duì)列表可以進(jìn)行切片,切片的操作類(lèi)似于對(duì)函數(shù)的調(diào)用,返回值一個(gè)新的列表
切片 L1[ x : y : z ] 是半開(kāi)閉區(qū)間(z通常不用寫(xiě)),如L1[1:3] 返回的是一個(gè)從 L1[1] 開(kāi)始到 L1[2] 結(jié)束的列表,不包含L1[3]
x 不寫(xiě)表示從頭開(kāi)始,y 不寫(xiě)表示直到列表結(jié)束,z 用于表示步長(zhǎng), 默認(rèn)是1, 可以認(rèn)為是在這個(gè)區(qū)間里每 z 個(gè)元素取一個(gè)(取第一個(gè)),可以是負(fù)數(shù),表示從后到前遍歷    
>>> L1 = [1,2,3,4,5,6]
>>> L1[1:3]
[2, 3]
>>> L1[:3]
[1, 2, 3]
>>> L1[1:]
[2, 3, 4, 5, 6]
>>> L1[-3:-1]
[4, 5]
>>> L2 = L1[:]
>>> L2
[1, 2, 3, 4, 5, 6]
>>> L1[::2]
[1, 3, 5]
>>> L1[::-1]
[6, 5, 4, 3, 2, 1]

列表可以做加法,做乘法,字符串也可以看做一個(gè)字符的列表
    
>>> L1 = [1,2]
>>> L2 = [3,4]
>>> L1 + L2
[1, 2, 3, 4]
>>> 5 * L1
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]

in語(yǔ)句,判斷一個(gè)對(duì)象是否在一個(gè)字符串/列表/元組里
not 語(yǔ)句表示對(duì)后面的否定
len  可以檢測(cè)字符串/列表/元祖/字典的元素個(gè)數(shù)
max 可以返回最大元素,min 返回最小元素
    
>>> L1
[1, 2, 3, 4, 2]
>>> 3 in L1
True
>>> 5 in L1
False
>>> 3 not in L1
False
>>> 5 not in L1
True
>>> len(L1)
5
>>> max(L1)
4
>>> min(L1)
1

操作:
    
>>> #賦值
>>> L1[1] = 5
>>> L1
[1, 5, 3, 4, 2]
>>> #刪除
>>> del L1[1]
>>> L1
[1, 3, 4, 2]
>>> #分片賦值
>>> L1[2:] = [6,7,8]
>>> L1
[1, 3, 6, 7, 8]
>>> L1[1:3] = []
>>> L1
[1, 7, 8]

list 的函數(shù):
append( x ) 是將 x 作為一個(gè)元素添加到列表的末尾,即使 x 是一個(gè)列表
    
>>> L1
[1, 2, 7, 8]
>>> L1.append(3)
>>> L1
[1, 2, 7, 8, 3]
>>> L1.append([4,5])
>>> L1
[1, 2, 7, 8, 3, [4, 5]]
>>> 4 in L1
False

count( x) 統(tǒng)計(jì) x 在列表中出現(xiàn)的次數(shù)    
>>> L1 = [1, 2, 7, 8]
>>> L1.count(2)
1
>>> L1.count(3)
0
extend( x ) 將x 作為一個(gè)列表與原列表合并,添加到末尾。若不是列表,則編譯器嘗試將 x 轉(zhuǎn)換為列表然后執(zhí)行操作,不成功就會(huì)報(bào)錯(cuò)    
>>> L1
[1, 2, 7, 8]
>>> L1.extend([4,5])
>>> L1
[1, 2, 7, 8, 4, 5]
>>> 4 in L1
True
index ( x ) 返回 x 在列表中的坐標(biāo),若 x 不在列表中會(huì)出錯(cuò)    
>>> L1.index(2)
1

insert( i , x) 在位置i 插入元素x    
>>> L1
[1, 2, 7, 8, 4, 5]
>>> L1.insert(0,'a')
>>> L1
['a', 1, 2, 7, 8, 4, 5]
>>> L1.insert(-1,'b')
>>> L1
['a', 1, 2, 7, 8, 4, 'b', 5]

pop( i ) 刪除位置 i 的元素并將它返回,默認(rèn)可以不寫(xiě) i ,刪除最后一個(gè)元素,不存在會(huì)出錯(cuò)    
>>> L1 = [1, 2, 7, 8]
>>> L1.pop(1)
2
>>> L1
[1, 7, 8]
>>> L1.pop()
8
>>> L1
[1, 7]

remove( x ) 移除在 列表中 x 的第一個(gè)匹配項(xiàng),x 不存在會(huì)出錯(cuò)
    
>>> L1.remove(2)
>>> L1
[1, 7, 8]

reverse() 將列表逆序
    
>>> L1 = [1, 2, 7, 8]
>>> L1.reverse()
>>> L1
[8, 7, 2, 1]

sort 將原列表排序,返回None,有兩個(gè)可選參數(shù),key 和 reverse,默認(rèn)為升序排列    
>>> L1
[8, 7, 2, 1]
>>> L1.sort()
>>> L1
[1, 2, 7, 8]
>>> L1.sort(reverse = True)
>>> L1
[8, 7, 2, 1]
 
 
>>> L1 = ['a','ccc','abcd','bc','cd','abc']
>>> L1.sort(key = len)
>>> L1
['a', 'bc', 'cd', 'ccc', 'abc', 'abcd']

元組(tuple)
元組也屬于序列,但元組為不可修改的列表。所以元組沒(méi)有以上序列通用方法可用!
一個(gè)元素的元組表示為 ( 1 , )    
>>> x = (1,)
>>> type(x)
<class 'tuple'>
>>> x = (1)
>>> type(x)
<class 'int'>

元組可轉(zhuǎn)換成列表,反之亦然。
內(nèi)建的 tuple() 函數(shù)接受一個(gè)列表參數(shù),并返回一個(gè)包含同樣元素的元組,而 list() 函數(shù)接受一個(gè)元組參數(shù)并返回一個(gè)列表。
從效果上看, tuple() 凍結(jié)列表,而 list() 融化元組。    
>>> x = [1,2,4,3,1]
>>> y = (1,2,4,3,1)
>>> type(x)
<class 'list'>
>>> type(y)
<class 'tuple'>
>>> z = tuple(x)
>>> z
(1, 2, 4, 3, 1)
>>> z = list(y)
>>> z
[1, 2, 4, 3, 1]

可以用列表 或 元組 進(jìn)行一次多賦值:    
>>> L1 = (1,2,4)
>>> (x, y, z) = L1
>>> x
1
>>> y
2
>>> z
4
 
>>> L1 = [1,2,4]
>>> (x,y,z) = L1
>>> x
1
>>> y
2
>>> z
4
[] ,和 () 在布爾值中表示 False


數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢(xún)
客服在線
立即咨詢(xún)
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }