成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

列表用符號[]表示,中間的元素可以是任何類型(包括列表本身,以實(shí)現(xiàn)多維數(shù)組),元素之間用逗號分隔。取值或賦值的時(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]這樣,不過我不建議你這樣做,我覺得沒什么好處(雖然個(gè)別場合下可能會比較方便)。#t#

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

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

 

  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] # 包括開始,不包括最后一個(gè)  
  6. print test[-3:] # 抽取最后3 個(gè)  

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

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

Python列表元組(tuple)

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

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

 

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

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

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

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

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

以上這類語句在Python列表中被廣泛應(yīng)用于變量交換、函數(shù)傳值等應(yīng)用,因此Python的解釋器在不斷對其進(jìn)行優(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

2009-09-07 15:40:06

2009-08-26 11:30:16

C# Arraylis

2009-09-02 17:10:45

C#語言入門

2011-07-13 13:23:04

Java 7C#

2025-04-30 01:50:00

C#異步編程

2010-03-09 10:59:42

Python語言教程

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

2009-08-12 15:34:40

C# DBNull

2009-08-13 17:04:09

C#語言C#程序
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 久在线精品视频 | 午夜免费精品视频 | 精品久久久久久 | 性一爱一乱一交一视频 | 国产一区三区在线 | 一本一道久久a久久精品综合蜜臀 | 天堂在线中文 | 亚洲国产一区在线 | 日韩综合在线 | 精精久久 | 亚洲国产精品福利 | 午夜视频在线观看网址 | 成人在线不卡 | 日韩一区二区在线视频 | 亚洲一区在线日韩在线深爱 | 在线视频一区二区 | 91精品国产色综合久久不卡蜜臀 | 欧美激情欧美激情在线五月 | 亚洲精品一区在线观看 | 国产精品视频一二三区 | 日韩久久在线 | 91九色视频在线 | 欧美日韩中文字幕在线 | 久久综合伊人 | 国产精品一区二区视频 | 免费一区二区三区 | 亚洲一二三区免费 | 久久久久久久av麻豆果冻 | 国产传媒在线观看 | 香蕉久久久久久 | 欧美成人手机在线 | 理论片免费在线观看 | 日韩在线观看中文字幕 | 欧美日韩国产不卡 | 精品91av | 国产在线观 | 天天摸天天干 | 中文字幕 国产 | 天天干狠狠 | 一区二区三区日韩 | 日韩欧美国产精品综合嫩v 一区中文字幕 |