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

熱線電話:13121318867

登錄
首頁精彩閱讀Python基礎詳解(三):數據結構篇
Python基礎詳解(三):數據結構篇
2020-01-06
收藏
Python基礎詳解(三):數據結構篇

作者 | CDA數據分析師

1、列表的概念

列表(list)是用來存儲一組有序數據元素的數據結構,元素之間用都好分隔。列表中的數據元素應該包括在方括號中,而且列表是可變的數據類型,一旦創(chuàng)建了一個列表,你可以添加、刪除或者搜索列表中的元素。在方括號中的數據可以是int型,也可以是str型。

2、新建一個列表

新建列表的方法比較簡單,直接將數據元素用方括號括起來就行,下面是集中常見類型列表的新建實例。

■新建一個空列表,如下圖:

Python基礎詳解(三):數據結構篇

■建立一個int類型列表

當方括號中的數據元素全部為int類型時,這個列表就是int類型的列表

Python基礎詳解(三):數據結構篇

■建立一個str類型列表

當方括號中的數據元素全部為str類型時,這個列表就是str類型的列表

Python基礎詳解(三):數據結構篇

■建立一個int+str類型列表

當方括號中的數據元素既有int類型,又有str類型時,這個列表就是int+str類型列表。

Python基礎詳解(三):數據結構篇

3、列表的復制

列表的復制和字符串的復制類似,也是利用*操作符。

Python基礎詳解(三):數據結構篇
Python基礎詳解(三):數據結構篇

4、列表的合并

列表的合并就是將兩個現有的list合并在一起,主要有兩種實現方式,一種是利用+操作符,它和字符串的連接一致;另外一種用的是extend()函數。

直接將兩個列表用+操作符連接即可達到合并的目的,列表的合并是有先后順序的。

Python基礎詳解(三):數據結構篇

將列表B合并到列表A中,用到的方法是A.extend(B),將列表A合并到列表B中,用到的方法是B.extend(A)。

Python基礎詳解(三):數據結構篇

5、向列表中插入新元素

列表是可變的,也就是當新建一個列表后你還可以對這個列表進行操作,對列表進行插入數據元素的操作主要有append()和insert()兩個函數可用。這兩個函數都會直接改變原列表,不會直接輸出解雇哦,需要調用原列表的列表名來獲取插入新元素以后的列表。

函數append()是在列表末尾插入新的數據元素,如下圖:

Python基礎詳解(三):數據結構篇

函數insert()是在列表指定位置插入新的數據元素,如下圖:

Python基礎詳解(三):數據結構篇

6、獲取列表中值出現的次數

利用count()函數獲取某個值在列表中出現的次數。

例如,全校成績排名前五的5個學生對應的班級組成一個列表,想看一下你所在的班級(一班)有幾個人在這個列表中。

Python基礎詳解(三):數據結構篇

7、獲取列表中值出現的位置

獲取值出現的位置,就是看該值位于列表中的哪里。

已知公司的所有的銷售業(yè)績是按降序排列的,想看一下楊新竹的業(yè)績排在第幾。

Python基礎詳解(三):數據結構篇

上邊的結果是3,也就是楊新竹的業(yè)績排第四名。

Python基礎詳解(三):數據結構篇

8、獲取列表中指定位置的值

獲取指定位置的值利用的方法和字符串索引是一致的,主要是有普通索引和切片索引兩種。

(1)普通索引:普通索引是活期某一特定位置的數,如下圖:

Python基礎詳解(三):數據結構篇

(2)切片索引:切片索引是獲取某一位置區(qū)間內的數,如下圖:

Python基礎詳解(三):數據結構篇

9、刪除列表中的值

對列表中的值進行刪除時,有pop()和remove()兩個函數可用。

pop()函數是根據列表中的位置進行刪除,也就是刪除指定位置的值,如下圖:

Python基礎詳解(三):數據結構篇

remove()函數是根據列表中的元素進行刪除,也就是刪除某一元素,如下圖:

Python基礎詳解(三):數據結構篇

10、對列表中的值進行排序

對列表中的值排序利用的是sort()函數,sort()函數默認采用升序排列,如下圖:

Python基礎詳解(三):數據結構篇
Python基礎詳解(三):數據結構篇

數據結構——字典

1、字典的概念

字典是一種鍵值對的結構,類似于通過聯系人姓名查找地址和聯系人詳細情況的地址簿,即把鍵(名字)和值(詳細情況)聯系在一起。注意,鍵必須是唯一的,就像如果有兩個人恰巧同名,那么你無法找到正確的信息一樣。

鍵值對在字典中以{key1:value,key2:value}方式標記。注意,鍵值對內部用冒號分隔,而各個對之間用逗號分隔,所有這些都包括在花括號中。

2、新建一個字典

先創(chuàng)建一個空的字典,然后向該字典內輸入值。下面新建一個通訊錄:

Python基礎詳解(三):數據結構篇

將值直接以列表的形式存放在元組中,然后用dict進行轉換。

Python基礎詳解(三):數據結構篇

將鍵值以列表的形式存放在元組中,然后用dict進行轉換。

Python基礎詳解(三):數據結構篇

3、字典中的keys()、values()和items()方法

■keys()方法用來獲取字典內的所有鍵。

Python基礎詳解(三):數據結構篇

■values()方法用來獲取字典內的所有值。

Python基礎詳解(三):數據結構篇

■items()方法用來得到一組組的鍵值對。

Python基礎詳解(三):數據結構篇
Python基礎詳解(三):數據結構篇

數據結構——元組

1、元組的概念

元組雖然與列表類似,但是也有不同支持,元組的元素不能修改;元組適用小括號,而列表中使用中括號。

2、新建一個元組

元組的創(chuàng)建比較簡單,直接將一組數據元素用小括號括起來即可。

Python基礎詳解(三):數據結構篇

3、獲取元組的長度

獲取元組的長度的方法與獲取列表長度的方法是一樣的,都使用函數len()。

Python基礎詳解(三):數據結構篇

4、獲取元組內的元素

元組內的元素的獲取方法主要分為普通索引和切片索引兩種。

(1)普通索引

Python基礎詳解(三):數據結構篇

(2)切片索引

Python基礎詳解(三):數據結構篇

5、元組與列表相互轉換

元組和列表是兩種相似的數據結構,兩者經常互相轉換。

使用函數list()將元組轉化為列表。

Python基礎詳解(三):數據結構篇

使用函數tuple()將列表轉化為元組。

Python基礎詳解(三):數據結構篇
Python基礎詳解(三):數據結構篇

6、zip()函數

zip()函數用于將可迭代的對象(列表、原組)作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。zip()函數常與for循環(huán)一起搭配使用。

當迭代對象是列表時:

Python基礎詳解(三):數據結構篇
Python基礎詳解(三):數據結構篇

當迭代對象是元組時:

Python基礎詳解(三):數據結構篇

運算符

1、算數運算符

算數運算符就是常規(guī)的加、減、乘、除類運算。下表為基本的運算符及其示例。

Python基礎詳解(三):數據結構篇

2、比較運算符

比較運算符就是大于、等于、小于之類的,主要是用來做比較的,返回是True或者False的結果,常用的比較運算符如下表所示。

Python基礎詳解(三):數據結構篇

續(xù)集

Python基礎詳解(三):數據結構篇

3、邏輯運算符

邏輯運算符就是與、或、非,下表為邏輯運算符及其示例。

Python基礎詳解(三):數據結構篇

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } 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(), // 加隨機數防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數1:配置參數 // 參數2:回調,回調的第一個參數驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".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 = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+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); }