国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

python基礎學習筆記-0

2019-11-14 16:59:14
字體:
來源:轉載
供稿:網友

python中數據結構,主要有列表、元組、字典、集合。 
python中最基本數據結構是序列(sequence)。序列中每個元素被分配一個序號——即元素位置,也成為索引。第一個索引是0,第二個是1,以此類推。 
python包含6種內建序列,其他內建序列類型有字符串、unicode字符串、buffer對象和range對象。 
python之中還有一種名為容器(container)的數據結構。容器基本上是包含其他對象的任意對象。序列(例如列表和元組)和映射(例如字典)是兩類主要的容器。序列中每個元素都有自己編號,而映射中每個元素則有一個名字(也稱為鍵)。至于既不是序列也不是映射的容器類型,集合(Set)就是一個例子。

列表用[]表示,元組用(),字典用{key:values...},set{...}列表和元組屬于序列,其中列表是可變序列,可以直接對其進行賦值操作,元組是不可變序列。所有序列類型都可以進行某些特定法操作。這些操作包括:索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)以及檢查某個元素是否屬于序列的成員(成員資格)。

list方法可以適用于類型的序列,而不只是字符串

 

列表方法: 
list.append 在列表末尾追加新的對象 
list.count 統計某個元素在列表中出現的次數 
list.extend 在列表的末尾一次性追加另一個序列的多個值 
a = [1,2,3,] b=[,4,5,6] a.extend(b) 
list.index 從列表中找出某個值第一個匹配項的索引位置 
list.insert 將對象插入到列表當中 
a = [1,2,3] a.insert(2,4) 
list.pop 移除列表中最后一個元素,并且返回該元素的值 
使用pop方法可以實現一種常見數據結構-棧,后進先出(LIFO) 
list.remove 移除列表中某個值得第一個匹配項 
list.sort 在原位置對列表進行排序,意味著改變原來的列表,而不是簡單地返回一個以排序的列表副本

當需要一個排好序的列表副本,同時又保留原有列表不變時,使用如下做法是錯誤的: 
x = ['a','b','c','d'] 
y = x.sort() 
PRint y 
返回的是None 
因為sort方法修改了X卻返回了空值,那么最后得到的是以排序的X以及值為none的y。實現這個功能的正確做法是,首先把副本賦值給y,然后對y進行排序: 
y = x[:] 
y.sort() 
再次調用x[:]得到包含了x所有元素的分片,這是一種很有效率復制整個列表的方法,只是簡單的把x賦值給y是沒用的,因為這樣做就是讓x和y都指向同一個列表。 
另外一種獲取以排序的列表副本方法是,使用sorted函數: 
這個函數實際上可以用于任何一個序列,卻總是返回一個列表。

 

元組:不可變序列 
除了創建元組和訪問元組元素之外,也沒有太多其他操作,元組的分片還是元組,就像列表的分片還是列表一樣。

 

字符串:格式化 
s%稱為轉換說明符(conversion specifier),它們標記了需要插入轉化值的位置。s表示值會被格式化為字符串,如果不是字符串,則會用str將其轉換為字符串 
字符串格式化轉換類型(具體參見轉換表) 
字符方法:從string模塊中繼承了很多方法 
find 可以在一個較長字符串中查找子字符串,它返回子串所在位置的最左端索引,如果沒有找到則返回一個-1 
join s是split方法的逆方法,用來在隊伍中添加元素,需要添加的隊伍元素都必須是字符串 
seq = ['1','2'] sep = '+' sep.join(seq)或者'/'.join(seq) 
replace 返回某字符串的所有匹配項均為替換之后得到的字符串 
'hello c++'.replace('c++','python') 
split 它是join 的逆方法,用來將字符串分割成序列 
'a+b+c+d'.split('+') ['a','b','c','d']

 

字典:并沒有特殊順序,但是都存儲在一個特定鍵(key),Key可以是數字、字符串甚至是元組 
字典的基本行為在很多方面與序列類似: 
len(d)返回d中項(鍵-值對)的數量 
d[k]返回關聯到鍵K上的值 
d[k]=v將值v關聯到鍵K上 
del d[k]刪除鍵為K的項 
盡管字典和列表由很多特性相同,但也有下面一些重要的區別 
鍵類型:字典的鍵不一定為整型數據(但也可能是),也可能是其他不可變類型,比如浮點型(實型)、字符串或者元組 
自動添加:即使那個鍵起初在字典中并不存在,也可以為它分配一個值,這樣字典就會建立新的項。 
成員資格:表達式k in d 查找的是鍵,而不是值。 
字典方法: 
clear 清除字典中所有的項,這是個原地操作,所以無返回值,或者說返回為none 
copy 返回一個具有相同鍵值的對得新字典(這個方法是淺復制,使用deepcopys實現深復制) 
items和iteritems items方法將所有的字典項以列表的方式返回,這些列表項中的每一項都來自于(鍵,值)。但是項在返回時并沒有特殊的順序。 
keys和iterkeys 將字典中的鍵以列表形式返回,而Iterkeys則返回針對鍵迭代器。 
pop 方法用來獲得對應于給定鍵的值,然后將這個鍵值對從字典中移除 
popitem 類似于List.pop,后者會彈出最后一個元素,但不同的是,popitem會彈出隨機的項,因為字典沒有‘最后一個元素’的概念 
values 以列表的形式返回字典中的值,與返回鍵的列表不同的是,返回值得列表中可以包含重復的元素。

+

 

tags:《python基礎教程》第二版

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 炎陵县| 蒙自县| 彭州市| 桃园市| 丰县| 双城市| 夏津县| 枞阳县| 姚安县| 屯留县| 沂南县| 峨眉山市| 南城县| 玉门市| 育儿| 大田县| 遂川县| 荆州市| 上犹县| 铜陵市| 阿拉善右旗| 疏勒县| 陇南市| 陆丰市| 北安市| 广河县| 汶上县| 车致| 怀来县| 新余市| 商洛市| 富锦市| 东光县| 丹阳市| 锡林浩特市| 潮州市| 渭南市| 寻乌县| 鱼台县| 泽州县| 大洼县|