python常用序列list、tuples及矩陣庫numpy的使用

來源:互聯網
上載者:User

標籤:opera   括弧   序列   使用進行   function   本質   dex   分享   googl   

近期開始學習python機器學習的相關知識,為了使後續學習中避免編程遇到的基礎問題,對python數組以及矩陣庫numpy的使用進行總結,以此來加深和鞏固自己以前所學的知識。

Section One:Python數組的使用

在python中,數組這個概念其實已經被淡化了,取之的是元組和列表,下面就列表和元組進行相關的總結和使用。

  Subsection One: List

  list列表本質是一種序列類型的資料結構,有點類似於C/C++中所學的數組,但又不同。他們的相同之處在於,二者中的每個元素都分配有一個索引值來進行訪問,如:

1 #python list2 list1 = [‘physics‘, ‘chemistry‘, 1997, 2000]3 print(list1[0])
View Code

而在C/C++中我們知道,數組也可以通過這種數組名加索引值的方式來訪問,在此不做贅述。

但是,細心的話,我們會發現,python中的列表與C/C++中有所不同,它可以包含不同的資料類型,而C/C++中則不可以。此外,在上面的代碼中,我們可以看到,二者有著相同的建立方式。

但在python中,對於list清單類型的訪問,有著不同的方式,下面就列表的訪問進行總結:

 1 """List: 2 -------------------------------- 3 """ 4 # create a list 5 list1 = [‘physics‘, ‘chemistry‘, 1997, 2000] 6  7 # two methods to access a list as follows: 8 print "list1[0]", list1[0]  9 print "list1[1:4]", list1[1:4]10 11 print "list1[-1]", list1[-1]12 print "list1[-2]", list1[-2]13 14 print "list1[1:]", list1[1:]
View Code

 

從上面兩種方式,其實可以看到,python中的列表可以通過"起始索引:終止索引(可選)"的方式,來直接存取列表中的一串資料,這在C/C++中是無法做到的,這給我們帶來極大的便利性,加上終止索引,表示訪問從起始索引到終止索引之間的全部資料,不加則意味著要訪問從起始索引到該列表末尾的全部資料。

此外,在列表中,索引值為負代表著從列表末尾來訪問這個列表,圖三、四例子可以看到。

此外,python中對於列表,引入了以下幾種方法來更新和刪除列表,並賦予幾種訪問列表屬性的方法。

# update and delete list1.append(‘Google‘)print list1

列表可以通過append方法,往列表的末尾添加新的元素,在list1列表的基礎上,這裡添加了一個叫做google的字串元素。

del list1[2]print "after deleting value at index 2", list1
View Code

可以看到,使用del函數將索引為2的資料刪除了,此外,del函數還能結合之前提到的訪問數組的方式來刪除相關元素,如:

del list1[1:]print "after deleting value by list1[1:]", list1
View Code

同理,採用起始index:終止index的方式,也是能夠實現刪除列表中一段資料的。

此外,python中提供了一個len函數,來擷取一個列表的長度,使用"+"操作符能夠實現不同數組之間的合并,使用"*"操作符實現建立包含n個相同元素的列表,以及一些迴圈和遍曆方式來確定資料是否在列表中,下面給出相關的操作:

"""List:--------------------------------"""# create a listlist1 = [‘physics‘, ‘chemistry‘, 1997, 2000]list2 = [1, 2, 3 , 4]l = len(list1)print "access len function to get the length of list1"print l# + operatorprint list1 + list2list3 = list1 + list2print "list3:", list3# * operatorlist4 = [‘hhhh‘] * 4print list4#traverseprint "traverse list1:"for x in list1:    print x#confirm x in listprint "confirm x in list"print 2 in list1print 1997 in list1
View Code

此外,還可以通過min和max函數來擷取列表的最大最小值,count函數用以計算某元素在列表中的出現次數,remove來移除匹配到的資料,sort函數進行排序,reverse函數進行逆序,這些可以在list的官方文檔中查詢到。

  Subsection Two: 元組

  元組的建立根列表的很類似,但是它用括弧進行建立:

"""Tuples------------------------------"""tup1 = (1, 2, 3, "Google")print tup1tup2 = (‘flesh‘,)print tup2
View Code

細心的小夥伴們可能會看到,我在建立第二個tuples的時候,裡面雖然只有一個元素,但是,我還是用了一個逗號,其實,這是很有必要的,雖然不加也不會有編譯錯誤,在這部分代碼中。但是,在其他情況則不一定了,比如,我們使用元組作為返回參數,如果不加逗號,但是返回的元組中只有一個資料,比如26,那麼,電腦就會因為無法識別該元素是數字26還是元組26。因此,加上是必要的,也有助於我們養成良好的編程習慣。

元組的訪問呢與列表是一樣的,因為它們倆都是python中最為常見的序列結構,在這裡不做贅述,有興趣的小夥伴可以自己去嘗試一下下,值得注意的是,訪問時的形式與列表的相同,不是L(index)的方式,而是L[index]。

此外,在元組中,對相關資料的修改是非法的,如下所示:

print "modify the data at index 2"tup1[2] = 100print tup1
View Code

所以給位小夥伴們在使用元組時一定要注意呀!

但是元組中,可以使用"+"以及"*"兩個操作符來進行對元組的修改。

其餘的相關方法如len等,而這類似,可以通過查閱文檔來瞭解。

Section Two: Numpy庫的使用(後續補充,要吃飯了23333)

python常用序列list、tuples及矩陣庫numpy的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.