Python基礎-列表、元祖、字典、字串

來源:互聯網
上載者:User

標籤:提取   負數   就是   表操作   span   設定   put   range   清空   

 

列表和分組

序列概覽:

資料結構是通過某種方式組織在一起的資料元素的集合。這些元素可以是數字、字元,甚至可以是其他資料結構。

在python中,最基本的資料結構是序列(sequence)。

序列中的每一個元素被分配一個序號----即元素的位置,也稱為索引、下標。第一個索引是0,第二個索引是1,以此類推。

Python包含6種內建的序列,此次重點討論最常用的兩種類型:列表、元祖。其他內建序列類型包括:字串、Unicode字串、buffer對象和xrange對象。接下來講解對所有序列都通用的操作。

 

列表和元祖的建立:

列表和元祖主要的區別在於:列表可以修改,而元祖不可修改。也就是說如果需要根據要求來添加元素,那麼列表可能會更好用;而出於某些原因,序列不能修改時,使用元祖則更為合適。

建立一個列表,只要把逗號分隔的不同資料項目使用方括弧括起來即可;

建立一個元祖,只要把逗號隔開的不同資料項目使用小括弧括起來即可,如果元組裡只有一個元素的話,那麼你必須在這個元素後面加一個逗號,否則它不是元組。

 

通用序列操作:

所有序列類型都可以進行某種特定的操作。這些操作包括索引(indexing)、分區(slicing)、加(adding)、乘(multiplying)以及檢查某個元素是否屬於序列的成員(成員資格),除此之外,還有計算序列長度、找出最大元素和最小元素的內建函數。

1. 索引

序列中的所有元素都是有編號的:從0開始遞增。這些元素可以通過編號分別訪問。這些編號就是索引。索引0指向第一個元素。

使用負數索引時,python會從右邊,就是最後一個元素開始計數。最後一個元素的位置編號就是-1。

如果一個函數調用返回一個序列,那麼可以直接對返回結果進行索引操作。例如你只對使用者輸入年份的第4個數字感興趣:

2.分區

索引訪問單個元素,分區可以訪問一定範圍的元素。分區通過冒號隔開的兩個索引來實現。

第一個索引是要提取的第一個元素的編號,第二個索引是分區之後剩餘部分的第一個元素的編號;簡單來說,就是“顧頭不顧尾”。

步長:進行分區的時候,預設步長為1;我們也可以顯示設定步長,若步長被設定為大於1的數,則會跳過某些元素。

例如:步長為2的分區包括的是從開始到結束每隔1個的元素

步長不可以為0,會報錯;但是可以為負數,此時分區從右往左提取元素。

1、當步長為正數時,開始索引要小於結束索引,否則會取到空

2、當步長為負數時,開始索引要大於結束索引,否則會取到空

3、當步長為負數,開始索引為空白時,開始索引預設為最後一個索引+1

4、當步長為負數,結束索引為空白時,結束索引預設為0

3.序列相加

通過使用加運算子可以進行序列的串連操作。

只有兩種相同類型的序列才能進行串連操作,否則會報錯:

 

 

4. 乘法

用數字X乘以序列,會產生一個新的序列。在新的序列中,原來的序列將被重複X次。

None、空列表和初始化

空列表可以簡單的通過兩個中括弧來表示([]).

None是一個python內建值,代表“這裡什麼也沒有”

若是想要初始化一個長度為10的列表:

5.成員資格

為了檢查一個值是否在序列中,可以使用in運算子。

這個運算子檢查某個條件是否為真,然後返回相應的值:條件為真,返回True;條件為假,返回False。

這樣的運算子為布林運算子,返回的值為布爾值。

 

 

6. 長度、最小值、最大值

len函數:返回序列中所包含的元素的數量

min函數:返回序列中最小的元素

max函數:返回序列中最大的元素

 

基本的列表操作

1.改變列表:元素賦值

使用索引標記為某個特定的、位置明確的元素賦值。

註:不能為一個位置不存在的元素進行賦值

如果一個列表長度為5,那麼不能為位置為11的的元素賦值。

2.刪除元素

Del語句實現刪除。

列表方法

1.append

append方法適用於在列表末尾追加新的對象。

在x列表末尾新增一個值為100的對象:

2.count

count方法統計某個元素在列表中出現的次數。

統計x列表中1出現的次數:

3.index

index方法用於從列表中找出某個值第一個匹配項的索引位置。

尋找x列表中值為1的元素出現的第一個位置:

尋找的元素不存在時:

4.insert

在指定位置插入元素。

在‘北京’後插入‘香港’:

 

5.pop

移除列表中的一個指定的元素(預設是最後一個)。

移除最後一個元素、移除角標為0的元素:

pop有傳回值:

 

6.remove

移除列表中某個值的第一個匹配項。

刪除x列表中值為1的第一個元素:

無傳回值,與pop相反。

7.reverse

將列表中的元素反向存放。

 

無傳回值,與pop相反。

 

8.sort

在原位置對列表進行排序。(字母、漢字都可以排序。)

升序:列表名.sort();降序:列表名.sort(reverse=True)

當需要一個排好序的列表副本,同時需要保留原列表不變時,下面這種做法是錯誤的,因為sort方法不傳回值。

最後得到的是已排序的x和空的y。

正確的做法是先把x賦值給y:

 

字典:

字典由多個鍵與其對應的值構成的鍵-值對組成。鍵與它的值之間用冒號【:】隔開,項之間用逗號【,】隔開,整個字典由一對大括弧括起來【{}】。

字典中的鍵是唯一的,值不唯一。字典列印輸出是無序的。

 1.查詢

d[k]:返回關聯到鍵k上的值。

訪問字典中不存在的鍵時會報錯:

get方法:訪問字典中不存在的鍵時,不會報錯,而是得到了None。還可以自己定義“預設”值,替換None。

2.增加

d[k]=v:將值v關聯到鍵k上。

如果鍵k不存在的話,新增一個鍵k及相應的值;

如果鍵k存在的話,覆蓋原有的值。

 

 

Setdefault方法:類似get方法,能獲得與給定鍵相關聯的值,還能在字典中不含有給定鍵的情況下設定相應的索引值。

當鍵存在時,返回與其對應的值,不改變字典;

當鍵不存在時,更新字典。

 

3.刪除

del d[k] :刪除鍵為k的項。

 

Pop方法:獲得對應於給定鍵的值,然後將這個鍵-值對從字典中移除。

 

4.清空字典

clear方法:清除字典中所有的項,無傳回值(或者說返回None)。

5.擷取字典內容

print(d.values()) :列印所有值

print(d.keys()) :列印所有鍵

print(d.items()) :列印所有鍵和對應的值

 

 

列印嵌套字典:print(第一個字典名[‘第二個字典’][‘第三個字典’]...[‘list’])

 

6.迴圈

注意:字典元素的順序通常無序的。

1)直接迴圈一個字典的話,迴圈的是字典的key;

如果只需要值,可以使用d.values(),

 

2)同時擷取鍵及鍵對應的值:

7.檢查d中是否含有鍵為k的項

print(key in d) / print(key not in d)

 

 

字串

1.strip

返回去除兩側(不包括內部)的空格及換行(\n)的字串:

input().strip() :去掉輸入值的空格

去掉指定的值:

2.count

統計字串出現的次數:

3.index

找出某個值第一個匹配項的索引位置。

4.find

在字串中尋找子串,返回子串所在位置的最左端的索引。如果沒有找到,返回-1。

5.replace

替換字串,將【day】換成【DAY】:

 

6.isdigit

判斷字串是否為純數字

 

 7.startswith

判斷是否以某個字串開頭

8.endswith

判斷是否以某個字串結束

9.upper:返回字串的大寫字母版

   lower:返回字串的小寫字母片

10.isalpha

判斷字串是否全為字

11.isalnum

判斷是否包含字母和數字,只要有字母或數字就返回True

 

Python基礎-列表、元祖、字典、字串

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.