自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python列表與C#語言的相似度介紹

開發(fā) 后端
Python列表是我們經(jīng)常使用到的一個代碼。其實與我們熟悉的C#語言中的列表沒有太多的區(qū)別。下面我們來詳細的學(xué)習(xí)相關(guān)的知識。

Python列表有不少的知識需要我們學(xué)習(xí),下面我們就來看看相關(guān)的代碼,只有不斷的學(xué)習(xí)才能更好的進行相關(guān)的編寫。Python列表(list)類似于C#中的可變數(shù)組(ArrayList),用于順序存儲結(jié)構(gòu)。

列表用符號[]表示,中間的元素可以是任何類型(包括列表本身,以實現(xiàn)多維數(shù)組),元素之間用逗號分隔。取值或賦值的時候可以像C數(shù)組一樣,按位置索引:

  1. # -*- coding: utf-8 -*-  
  2. array = [1,2,3]  
  3. print array[0]  
  4. #輸出 1  
  5. array[0] = 'a'  
  6. print array  
  7. #輸出 ['a', 2, 3] 

從上邊的代碼中你可能發(fā)現(xiàn)一個有趣的事情:在Python的列表中可以混合使用不同類型的數(shù)據(jù),像['a', 2, 3]這樣,不過我不建議你這樣做,我覺得沒什么好處(雖然個別場合下可能會比較方便)。#t#

另外還可以看到,列表是可變的序列,也就是說我們可以在“原地”改變列表上某個位置所存儲的對象(的值)。

C#中ArrayList支持的多數(shù)操作(如追加、插入、刪除、清空、排序、反轉(zhuǎn)、計數(shù)等),Python中的list也都支持,同時list也支持“切片”這種操作。切片指的是抽取序列的一部分,其形式為:list[start:end:step]。其抽取規(guī)則是:從 start開始,每次加上step,直到end為止。默認的step為1;當(dāng)start 沒有給出時,默認從list 的第一個元素開始;當(dāng)end=-1 時表示list 的最后一個元素,依此類推。一些簡單的例子見下邊代碼:

 

  1. # -*- coding: utf-8 -*-  
  2. test = ['never', 1, 2, 'yes', 1, 'no', 'maybe']  
  3. print test[0:3] # 包括test[0],不包括test[3]  
  4. print test[0:6:2] # 包括test[0],不包括test[6],而且步長為2  
  5. print test[:-1] # 包括開始,不包括最后一個  
  6. print test[-3:] # 抽取最后3 個  

字符串、列表、元組都支持切片操作,這個很方便,應(yīng)該學(xué)會熟練使用它。

最后,list是Python列表中最基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),你可以把它當(dāng)作鏈表、堆棧或隊列來使用,效率還不錯。Python中沒有固定長度數(shù)組,如果你確實很在意性能,可以導(dǎo)入array模塊來創(chuàng)建一個C風(fēng)格的數(shù)組,它的效率很高,這里就不詳細介紹了。

Python列表元組(tuple)

元組與列表非常相似,它是用()而不是[]括起來的序列。元組比列表的速度更快,但元組是一個不可變的序列,也就是與str一樣,無法在原位改變它的值。除此之外,其他屬性與列表基本一致。

元組定義的方法與列表類似,不過在定義只包含一個元素的元組時,注意在后邊加一個逗號。請體會以下幾句語句的差異:

 

  1. # -*- coding: utf-8 -*-   
  2. test = [0] #列表可以這樣定義   
  3. print type(test) #輸出<type 'list'>   
  4. test = [0,] #也可以這樣定義   
  5. print type(test) #輸出<type 'list'>   
  6. test = (0,) #元組可以這樣定義   
  7. print type(test) #輸出<type 'tuple'>   
  8. test = (0) #但不能這樣定義,Python會認為它是一個括號表達式 print type(test) #輸出<type 'int'> 
  9. test = 0, #也可以省略括號,但要注意與C的逗號表達式不同  
  10. print type(test) #輸出<type 'tuple'> 

利用元組的這個特性,可以簡化Python變量的初始化過程,如:

  1. x,y,z=1,2,3 

還可以很簡單地進行數(shù)據(jù)交換。比如:

  1. a = 1 
  2. b = 2 
  3. a,bb = b,a 

以上這類語句在Python列表中被廣泛應(yīng)用于變量交換、函數(shù)傳值等應(yīng)用,因此Python的解釋器在不斷對其進行優(yōu)化,現(xiàn)在已經(jīng)具備了相當(dāng)高的效率。所以以上代碼在Python 2.5以后的版本中,比tmp = a; a = b; b = tmp這種常規(guī)語句更快。

 

責(zé)任編輯:張浩 來源: TT網(wǎng)絡(luò)
相關(guān)推薦

2010-01-15 18:35:25

C++的類

2009-08-03 16:28:53

Java語言與C#語言

2009-06-15 11:03:10

Java語言C#語言

2009-09-10 16:41:13

C# get post

2009-08-12 18:35:36

C# ArrayLis

2009-08-31 17:13:09

2011-07-13 13:23:04

Java 7C#

2009-09-02 17:10:45

C#語言入門

2009-08-26 11:30:16

C# Arraylis

2009-09-07 15:40:06

2025-04-30 01:50:00

C#異步編程

2010-03-09 10:59:42

Python語言教程

2009-08-13 17:04:09

C#語言C#程序

2009-08-04 08:48:44

C#內(nèi)置特性

2009-07-31 14:15:38

C# 構(gòu)造函數(shù)

2009-08-12 09:41:28

C# Director

2009-09-03 15:57:11

C# SystemMe

2009-08-12 15:34:40

C# DBNull

2009-08-12 15:43:02

操作C# Datase

2009-08-18 16:45:40

C# Raw Sock
點贊
收藏

51CTO技術(shù)棧公眾號