Python內置數據結構

Python內置數據結構

數值型

Int,floatcomplex,bool

序列對象

字符串:str ?列表:list ??數組:tuple

鍵值對

集合:set ???字典:dict

數值型

Int,floatcomplex,bool都是class1,5.0,2+3j都是對象即示例

Intpython3int就是長整形,且沒有大小限制,受限于內存區域的大小

Float:有整數部分和小數部分組成,實數和虛數組成,支持十進制和科學計數法組成,雙精度型。

Complex:有實數部分和虛數組成,實數和虛數都是由浮點數。3+4.2j

bool:int的子類,僅有2實例true,false對應10,可以和整數直接運算

類型轉換

Int(x)返回一個整數

Float(x)返回一個浮點數

Complex(x),Complex(xy)返回一個復數

bool(x)返回布爾值,false等價的對象

數字的處理函數

round(),四舍六入取偶

floor()向下取整,ceil()向上取整

Int()取整數部分

//整除且向下取整

math.sqrt()開方

類型判斷

type(obj),返回類型,而不是字符串

Instance(obj,class_or_tuple),返回布爾值

列表list

一個隊列,一個排列整齊的隊伍

列表內的個體稱作元素,由若干元素組成列表

元素可以是 任意對象(數字,列表,字符串,對象等)

列表內元素有順序,可以使用索引

線性的數據結構

可以使用[]表示

列表是可變的

列表list 鏈表 queue stack的差異

列表可以插入

Queue不可以插入,只能開頭和結尾

Stack是覆蓋式的,后進先出

鏈表分散的鏈表可以隨機插入

列表索引訪問

索引,也叫下標

正索引:從左到右,從0開始,為列表中的每一個元素編號

負索引:從右到左,從負1開始

正負索引不可以超界,否則引發異常indexerror

為了理解方便,可以認為列表是從左到右排列的,左邊是頭部,右邊是尾部,左邊是下界右邊是上界

列表通過索引訪問

列表查詢

Index(value,[start,[stop]])

通過值value,從指定區間查找列表的元素是否匹配

匹配到第一個就立即返回索引

匹配不到就拋出異常valueerror

count(value)

返回列表中匹配的value次數

時間復雜度

Index和count方法都是O(n)

隨著列表數據規模的增大,而效率下降

如何返回元素列表的元素個數?如何遍歷?如何設計高效?

len()

列表元素修改

list[index] = value

索引不要超界

列表增加,插入元素

append(object)-> none

列表尾部追加元素,返回none

返回none就意味著沒有新的列表產生,就地修改

時間復雜度O(1)

Insert(index,pbject)->none

從索引處插入,需要移動位置時間復雜度較高不常用

超越上界,尾部追加。超越下界尾部追加

Extend(iteratale) – > none

將可迭代對象的元素最加進來,返回none

就地修改

+ ->list

鏈接操作,將兩個列表鏈接起來

產生新的列表,源列表不變

本質上是調用的_add_()方法

* ?-list

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

列表刪除元素,插入元素

remove() -> none

從左到右查找第一個匹配的value的值,移除該元素,返回none

就地修改

效率不高O(n)

pop([index]) -> item

不指定索引的index,就從列表尾部彈出一個元素

指定索引index,就從索引處彈出一個元素,索引超界拋出indexerror錯誤

時間復雜度O()

clear() -> none

清除列表的所有的元素,剩下一個空列表

列表的其他操作

reversed() -> none

將列表元素反轉,返回none

就地修改

sort(key=none,reverse=false) -> none

對列表元素進行排序,就地修改,默認升序

reversetrue,反轉,降序

key一個函數,指定key如何排序

In

[3,4]in[1,2,[3,4]]

For x in [1,2,3,4]

?

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

(0)
zhangmengzhangmeng
上一篇 2018-03-26 19:43
下一篇 2018-03-26 19:47

相關推薦

  • openvpn安裝配置過程

    前言     之前為了方便遠程辦公時訪問公司的內部系統,如:svn、OA、wiki、禪道等等;通通在防火墻上做了端口映射。然后有個內部系統被黑了,各種弱口令沒辦法。果斷關閉端口映射,看來還是得搭建個VPN服務器,vpn設備感覺大材小用。馬上就想到了開源的openvpn,下面就來介紹openvpn的安裝配置過程。 ope…

    Linux干貨 2015-05-11
  • 第二周作業

    一、文件管理命令以及演示方法  1.1. mkdir命令     作用:創建文件夾     基本用法:mkdir [OPTION]… DIRECTORY…     參數:   &nbsp…

    Linux干貨 2016-08-22
  • I/O重定向及管道

    一、I/O重定向     程序=指定+數據     讀取數據:input     輸出數據:output     打開的文件都有一個fd:文件描述符     l…

    Linux干貨 2016-08-02
  • awk應用和systemd

    一:練習 1、求每班總成績和平均成績 name class score wang   1    100 zhang  2    90 li     1    80 2、為編譯安裝的httpd服務,實現service unit文件 3、破解centos7 口令 …

    Linux干貨 2016-09-22
  • 筆記一.如何使用VMWare Workstations 12 創建虛擬機

    筆記一.如何使用VMWare Workstations 12 創建虛擬機   一、準備工作 1.下載并安裝VMWare Workstations 12 http://www.epinv.com/post/6304.html 下載鏈接 二、創建虛擬機步驟 1.打開VMWare Workstations 12 選擇創建虛擬機 2.在創建虛擬機…

    Linux干貨 2017-02-14
  • N25-第一周作業

    第一周博客作業 1.描述計算機的組成及其功能 2.按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別 3.描述Linux哲學思想,并按照自己的理解對其進行解釋性描述。 4.說明Linux系統上命令的使用格式:詳細介紹,ifconfg,echo,tty,startx,export pwd,history,shutdown,poweroff,rebo…

    Linux干貨 2016-12-02
欧美性久久久久