python基礎筆記 0

2022-08-24 13:42:09 字數 2607 閱讀 4714

python中資料結構,主要有列表、元組、字典、集合。

python中最基本資料結構是序列(sequence)。序列中每個元素被分配乙個序號——即元素位置,也成為索引。第乙個索引是0,第二個是1,以此類推。 

python包含6種內建序列,其他內建序列型別有字串、unicode字串、buffer物件和range物件。 

python之中還有一種名為容器(container)的資料結構。容器基本上是包含其他物件的任意物件。序列(例如列表和元組)和對映(例如字典)是兩類主要的容器。序列中每個元素都有自己編號,而對映中每個元素則有乙個名字(也稱為鍵)。至於既不是序列也不是對映的容器型別,集合(set)就是乙個例子。

列表用表示,元組用(),字典用,set

列表和元組屬於序列,其中列表是可變序列,可以直接對其進行賦值操作,元組是不可變序列。

所有序列型別都可以進行某些特定法操作。這些操作包括:索引(indexing)、分片(sliceing)、加(adding)、乘(multiplying)以及檢查某個元素是否屬於序列的成員(成員資格)。

list方法可以適用於型別的序列,而不只是字串

列表方法:

當需要乙個排好序的列表副本,同時又保留原有列表不變時,使用如下做法是錯誤的: 

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基礎教程》第二版

Python學習筆記 0基礎(集合)

本人是一名在校大學生,分享自己的python學習筆記,共同進步。筆記內容 由自己組織語言編寫,為更好的理解。以書學習的同學,以書為標準。一.集合 集合的底層其實就是字典的 鍵物件。它不能重複,無序可變。1.可以建立乙個集合。使用add 可以新增元素。2.使用 set 可將列表 和 元組等可迭代的物件...

python 0基礎入門課筆記

參加了一次入門的體驗課,對我來說內容是比較淺的,但是課程設計得確實用心,值得為此付費 程式語言是為和機器溝通,所以,先要讓機器能與你對話,python裡讓機器說話的語句是 print 從名字不難理解,機器說話其實就是把內容列印到螢幕上的過程,至於說啥呢,就是括號裡的內容 那如何表達說的內容呢?高考給...

python的基礎運算 Python基礎04 運算

python的運算子和其他語言類似 我們暫時只了解這些運算子的基本用法,方便我們展開後面的內容,高階應用暫時不介紹 數 算 print 1 9 加法 print 1.3 4 減法 print 3 5 乘法 print 4.5 1.5 除法 print 3 2 乘方 print 10 3 求餘數 判斷...