內置數據結構,列表及其方法

List:列表有若干個元素,元素可以是任意對象,元素有順序,可以使用索引和迭代,使用線性結構,使用[ ]進行描述,在內存中的空間是連續的,每個元素在內存中的空間是一樣的………列表是可變的,列表不能一開始就定義大小,列表索引不可以超界

 

列表索引l.index(),從左向右搜索,發現第一個匹配的,自動返回搜索的值的索引;匹配不到,拋出異常ValueError

l.count()返回列表中匹配的值的次數

時間復雜度:index和count方法都是O(n)隨著列表數據規模的增大,而效率下降

Insert(index,object)->None,時間復雜度也是O(n),索引可超界,超越上界,尾部追加,超越下界,頭部追加: append()時間復雜度為O(1)

內存模型比方法重要

幾種序列的區別:list可以進行中間插隊,元素可進行挪動;

queue不能進行中間插隊,只能在開頭或者結尾加入或者拿出元素,也可進行索引

stack:只能后進先出(棧,類似于落盤子)

鏈表:手拉手模型

可迭代和可索引是兩個概念,是不一樣的

方法:

index(value,[start,[stop]]):通過value對列表進行查找,匹配第一個立即返回索引,匹配不到,拋出異常

list[index]=value: 對列表中的索引項元素進行修改

list.append(object): 尾部進行元素追加,返回none,沒有新列表生成,就地修改

list.insert(index,object): 在指定位置插入元素,返回值為none,沒有新列表產生,就地修改,超越上界,尾部追加,超越下界,頭部追加

list.extend(iteratable): 將可迭代對象追加進來,就地修改,返回值為none

+ : 將兩個列表鏈接起來,產生新列表,原列表不變,本質上調用add方

*: 重復操作。將本列表元素重復n次,返回新的列表

list.remove(value): 從左到右查找第一個匹配value的值,移除該元素,返回none,就地修改

list.pop([index]): 不指定索引index時從尾部彈出一個元素,指定索引index時,就從索引出彈出一個元素,索引超界拋出indexerror錯誤

l.clear():清除列表所有元素,剩下一個空列表

l.reverse():將列表元素進行反轉,返回none,就地修改

l.sort(key=functionname,reverse=False) :對列表元素進行排序,就地修改,默認升序;reverse為True,反轉,降序;key為一個函數,指定如何排序

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附:

Round() —–四舍六入,五取偶(正負一樣,不用考慮正負)

Round(-2.5,-2.5001)—-(-2,-3)

Print中取整計算//按floor計算

 

Floor計算結果取地板

Ceil計算結果取天花板

Math.floor(2.5)—–2

Math.floor(-2.5)—–(-3)

Math.ceil(2.5)—–(3)

Math.ceil(-2.5)—-(-2)

Int(2.5)——(2)

Int(-2.5)——(-2)

 

二進制bin () 返回字符串

八進制oct()返回字符串

十六進制hex()返回字符串

Math.Factorial(n)整數的階乘(英語:factorial)是所有小于及等于該數的正整數的積,0的階乘為1。即:n!=1×2×3×…×n。

 

類型判斷:

Type’a’==str

Isinstance(123,int)返回true

Isinstance(123,(int,float,complax))返回true

 

Type(1+false)返回int;bool為int的子類(其中存在數值類型的隱式轉換)

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92880

(0)
DrueDrue
上一篇 2018-03-25
下一篇 2018-03-25

相關推薦

  • Linux文件查找命令find和壓縮解壓縮

    概述     Linux系統上一切皆文件,那么隨著時間的推移和管理的服務器增加,在眾多的文件中,如何找到我們需要的文件,這就需要用到文件查找命令了。本章就分享下關于文件查找命令的一些內容和壓縮解壓縮的相關內容。     具體分為一下幾個部分:    …

    Linux干貨 2016-08-16
  • 網絡21期第十周博客作業

    網絡21期第十周博客作業 1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) Centos6啟動流程:       POST加電自檢 —> BOOT Sequence —> 加載內核啟動系統  &…

    Linux干貨 2016-09-15
  • Linux下軟件包安裝(rpm,yum)

    Linux下軟件包安裝(rpm,yum,源代碼) 1)    Rpm包管理安裝 2)    Yum包程序管理器 3)    本地Yum倉庫建制 ======================================= 1) …

    Linux干貨 2016-06-22
  • linux下vim命令詳解

    如果沒有安裝vim就請使用:sudo apt-get install vim 一個完整的.vimrc配置信息如下所示: set nocompatible set nummber filetype on set history=1000 set background=dark syntax on set autoindent set mouse=a set s…

    Linux干貨 2016-08-12
  • 編譯安裝——吐血經驗,內附腳本

    程序包編譯安裝: 源碼包:name-VERSION-release.src.rpm         rpm由源碼包安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝        &nbsp…

    Linux干貨 2016-08-24
  • 記錄Linux入門3天,每天的點點滴滴記錄

        Linux 文件系統的特性:      1、文件名嚴格區分字符大小寫      2、文件名可以使用除了 /  意外任意的字符,但不建議使用特殊字符      3、文件名長度不能超過255個字符     &nbsp…

    Linux干貨 2017-05-21
欧美性久久久久