偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python列表與C#語(yǔ)言的相似度介紹

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

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

列表用符號(hào)[]表示,中間的元素可以是任何類型(包括列表本身,以實(shí)現(xiàn)多維數(shù)組),元素之間用逗號(hào)分隔。取值或賦值的時(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)一個(gè)有趣的事情:在Python的列表中可以混合使用不同類型的數(shù)據(jù),像['a', 2, 3]這樣,不過(guò)我不建議你這樣做,我覺(jué)得沒(méi)什么好處(雖然個(gè)別場(chǎng)合下可能會(huì)比較方便)。#t#

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

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

 

  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],而且步長(zhǎng)為2  
  5. print test[:-1] # 包括開(kāi)始,不包括最后一個(gè)  
  6. print test[-3:] # 抽取最后3 個(gè)  

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

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

Python列表元組(tuple)

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

元組定義的方法與列表類似,不過(guò)在定義只包含一個(gè)元素的元組時(shí),注意在后邊加一個(gè)逗號(hào)。請(qǐng)?bào)w會(huì)以下幾句語(yǔ)句的差異:

 

  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會(huì)認(rèn)為它是一個(gè)括號(hào)表達(dá)式 print type(test) #輸出<type 'int'> 
  9. test = 0, #也可以省略括號(hào),但要注意與C的逗號(hào)表達(dá)式不同  
  10. print type(test) #輸出<type 'tuple'> 

利用元組的這個(gè)特性,可以簡(jiǎn)化Python變量的初始化過(guò)程,如:

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

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

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

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

 

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

2010-01-15 18:35:25

C++的類

2009-08-03 16:28:53

Java語(yǔ)言與C#語(yǔ)言

2009-06-15 11:03:10

Java語(yǔ)言C#語(yǔ)言

2009-09-10 16:41:13

C# get post

2009-08-12 18:35:36

C# ArrayLis

2009-08-31 17:13:09

2009-09-02 17:10:45

C#語(yǔ)言入門(mén)

2009-08-26 11:30:16

C# Arraylis

2009-09-07 15:40:06

2011-07-13 13:23:04

Java 7C#

2025-04-30 01:50:00

C#異步編程

2024-04-30 07:27:00

消除圖片深度學(xué)習(xí)C#

2010-03-09 10:59:42

Python語(yǔ)言教程

2009-08-13 17:04:09

C#語(yǔ)言C#程序

2009-07-31 14:15:38

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

2009-08-12 15:43:02

操作C# Datase

2009-09-03 15:57:11

C# SystemMe

2009-08-12 09:41:28

C# Director

2009-08-04 08:48:44

C#內(nèi)置特性

2009-08-18 16:45:40

C# Raw Sock
點(diǎn)贊
收藏

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