摘要:注本片文章是個(gè)人學(xué)習(xí)總結(jié),內(nèi)容來(lái)自簡(jiǎn)明教程有序列表是一種保存有序項(xiàng)的數(shù)據(jù)結(jié)構(gòu)。正因?yàn)槲覀兛梢栽黾雍蛣h除項(xiàng),所以我們稱列表是一種可變數(shù)據(jù)類型,也就是說(shuō)這個(gè)類型可以被改變。這稱作綁定名稱到對(duì)象。
注:本片文章是個(gè)人學(xué)習(xí)總結(jié),內(nèi)容來(lái)自《簡(jiǎn)明Python教程》
List 有序列表List是一種保存有序項(xiàng)的數(shù)據(jù)結(jié)構(gòu)。
項(xiàng)目列表應(yīng)該使用方括號(hào)擴(kuò)起來(lái),以便 Python 能夠理解您正在定義一個(gè)列表。一旦創(chuàng)建了列表,你就可以在列表中增加,刪除或者搜索列表中的項(xiàng) 。 正因?yàn)槲覀兛梢栽黾雍蛣h除項(xiàng),所以我們稱列表是一種 可變 數(shù)據(jù)類型,也就是說(shuō)這個(gè)類型可以被改變。
shoplist = ["apple","mango","carrot","banana"] len(shoplist) //4 for item in shoplist: print(item) shoplist.append("rice") shoplist.sort() shoplist[0] = "Google" del shoplist[1]元組tuple
元組用于將多個(gè)對(duì)象組合在一起。可以將它們近似看作列表,但是沒(méi)有列表類提供的許多功能。元組的一個(gè)重要特征是,它們和字符串一樣是 不可變的 ,即你不能修改元組。
元組是由一些特殊的項(xiàng)定義的,這些項(xiàng)在一對(duì)可選的圓括號(hào)中,由逗號(hào)隔開(kāi)。
元組通常用于這種情況,也就是語(yǔ)句或者用戶自定義的函數(shù)可以安全地認(rèn)為值的集合(即,值的元組)不會(huì)改變的情況。
zoo = ("Python","Java","JavaScript","php")
==注意:包含0或1個(gè)項(xiàng)的元組==一個(gè)空的元組是由一堆空的圓括號(hào)組成的,例如,myempty = ().
但是對(duì)于一個(gè)項(xiàng)的元組且必須僅在第一個(gè)項(xiàng)的后面用一個(gè)括號(hào)來(lái)指定該元組,比如
myempty = (1,),因?yàn)橐驗(yàn)槿绻麤](méi)有逗號(hào)會(huì)造成歧義: a = (1)
>>> a = 2 >>> b = (a,11,22) >>> b (2, 11, 22) >>> a = 3 >>> b (2, 11, 22) >>> c = [1,1] >>> d = (c,22,33) >>> d ([1, 1], 22, 33) >>> c[1] = 4 >>> d ([1, 4], 22, 33)
元組中可以包含變量,變量可以改變,但元組的值不會(huì)變,元組中變量的值在里第一次創(chuàng)建就確定了,無(wú)法通過(guò)變量去改變。字典但是如果你的元組中的變量是一個(gè)列表list,那么元組中的值會(huì)隨著列表list改變而改變
字典是一種鍵值對(duì)集合,鍵必須是唯一的,而且鍵只能用不可變對(duì)象,比如字符串,但鍵值沒(méi)有多大限制。
d = {key1:value1,key2:value2}
字典的常用方法有del刪除鍵值對(duì),添加鍵值對(duì)直接用索引操作符訪問(wèn)一個(gè)鍵并為其賦值,遍歷字典則用items方法。
ab = { "Swaroop": "swaroop@swaroopch.com", "Larry": "larry@wall.org", "Matsumoto": "matz@ruby-lang.org", "Spammer": "spammer@hotmail.com" } ad["addKey"] = "value" del ab["Larry"] for key,value in ad.items(): print("Contact {} at {}".format(key,value)序列
列表list、元組tuple和dict都是序列的一種。
序列的主要特征是:成員測(cè)試(例如:in 與 not in 表達(dá)式)和索引操作,這兩種操作讓我們可以直接從序列中提取特定的部分。
序列還有一種特殊的操作叫做切片,切片可以讓我們得到序列的一部分。
shoplist = ["apple","mango","carrot","banana"] name = "swaroop" # 字符串索引 # print("Item 0 is", shoplist[0]) print("Item 1 is", shoplist[1]) print("Item 2 is", shoplist[2]) print("Item 3 is", shoplist[3]) print("Item -1 is", shoplist[-1]) print("Item -2 is", shoplist[-2]) print("Character 0 is", name[0]) # 列表切片 # print("Item 1 to 3 is", shoplist[1:3]) print("Item 2 to end is", shoplist[2:]) print("Item 1 to -1 is", shoplist[1:-1]) print("Item start to end is", shoplist[:]) # 字符串切片 # print("characters 1 to 3 is", name[1:3]) print("characters 2 to end is", name[2:]) print("characters 1 to -1 is", name[1:-1]) print("characters start to end is", name[:])引用
當(dāng)你創(chuàng)建了一個(gè)對(duì)象,并把它賦值給一個(gè)變量時(shí),這個(gè)變量只是 引用 了這個(gè)對(duì)象,變量并不能代表對(duì)象自身!因此,你可以把變量名當(dāng)作一個(gè)指針,它指向儲(chǔ)存對(duì)象的那一塊計(jì)算機(jī)內(nèi)存。這稱作綁定名稱到對(duì)象。
print("Simple Assignment") shoplist = ["apple", "mango", "carrot", "banana"] # mylist 只是指向同一個(gè)對(duì)象的另一個(gè)別名! mylist = shoplist # 我買下了第一件商品,所以把它從列表中移除 del shoplist[0] print("shoplist is", shoplist) print("mylist is", mylist) # 注意到 shoplist 和 mylist 產(chǎn)生了同樣的輸出 # 輸出的都是沒(méi)有 "apple" 的相同列表 # 這驗(yàn)證了它們都指向著同一個(gè)對(duì)象 print("Copy by making a full slice") # 通過(guò)全切片來(lái)獲得一個(gè)副本 mylist = shoplist[:] # 移除第一個(gè)元素 del mylist[0] print("shoplist is", shoplist) print("mylist is", mylist) # 注意到現(xiàn)在這兩個(gè)列表有差異了
輸出:
$ python ds_reference.py Simple Assignment shoplist is ["mango", "carrot", "banana"] mylist is ["mango", "carrot", "banana"] Copy by making a full slice shoplist is ["mango", "carrot", "banana"] mylist is ["carrot", "banana"]
記住:如果你想要獲得列表、或者類似的序列、或更復(fù)雜對(duì)象的副本,只要不是像整數(shù)一樣簡(jiǎn)單的 對(duì)象,你都需要通過(guò)切片操作來(lái)獲得它的副本。如果你直接把一個(gè)變量名賦值給另一個(gè),它們兩個(gè)都會(huì)引用同一個(gè)對(duì)象。在賦值時(shí)你需要注意這一點(diǎn),不然可能會(huì)造成意想不到的結(jié)果,從而帶來(lái)麻煩。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/42483.html
摘要:關(guān)于的三個(gè)謊言,你一定要清楚。這是的整個(gè)知識(shí)體系圖譜,對(duì)于新手來(lái)說(shuō),沒(méi)必要學(xué)那么多。第四自動(dòng)化測(cè)試一切關(guān)于自動(dòng)化的東西,似乎都可以滿足,可以滿足大多數(shù)自動(dòng)化工作,提升工作效率。這都是正常的,千萬(wàn)別急著否定自己,懷疑自己。 ...
摘要:學(xué)習(xí)筆記七數(shù)學(xué)形態(tài)學(xué)關(guān)注的是圖像中的形狀,它提供了一些方法用于檢測(cè)形狀和改變形狀。學(xué)習(xí)筆記十一尺度不變特征變換,簡(jiǎn)稱是圖像局部特征提取的現(xiàn)代方法基于區(qū)域圖像塊的分析。本文的目的是簡(jiǎn)明扼要地說(shuō)明的編碼機(jī)制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開(kāi)始之前,我們先來(lái)看這樣一個(gè)提問(wèn): pyth...
摘要:屬于前一種,而且日益被用于數(shù)學(xué)計(jì)算機(jī)器學(xué)習(xí)和多種數(shù)據(jù)科學(xué)應(yīng)用。近來(lái),由于擁有多個(gè)針對(duì)機(jī)器學(xué)習(xí)自然語(yǔ)言處理數(shù)據(jù)視覺(jué)化數(shù)據(jù)探索數(shù)據(jù)分析和數(shù)據(jù)挖掘的插件,豐富的數(shù)據(jù)科學(xué)生態(tài)體系得到了較大的發(fā)展,甚至有將數(shù)據(jù)科學(xué)社區(qū)化的趨勢(shì)。 譯者注:本文的英文原文地址是:Python for Data Science vs Python for Web Development,發(fā)布時(shí)間是10月29日。譯者一...
摘要:數(shù)據(jù)分析的發(fā)展方向一般有商業(yè)方向,行業(yè)分析業(yè)務(wù)方向,和機(jī)器學(xué)習(xí)數(shù)據(jù)挖掘方向。機(jī)器學(xué)習(xí)的書籍推薦統(tǒng)計(jì)學(xué)習(xí)方法,機(jī)器學(xué)習(xí),機(jī)器學(xué)習(xí)實(shí)戰(zhàn)三本書。 作者:xiaoyu 微信公眾號(hào):Python數(shù)據(jù)科學(xué) 知乎:python數(shù)據(jù)分析師 上一篇主要分享了博主親身轉(zhuǎn)行數(shù)據(jù)分析的經(jīng)歷: 【從零學(xué)起到成功轉(zhuǎn)行數(shù)據(jù)分析,我是怎么做的?】 本篇繼上一篇將分享轉(zhuǎn)行數(shù)據(jù)分析的一些經(jīng)驗(yàn)和學(xué)習(xí)方法,看完這篇你將會(huì)解...
閱讀 1951·2021-09-07 09:59
閱讀 2520·2019-08-29 16:33
閱讀 3688·2019-08-29 16:18
閱讀 2849·2019-08-29 15:30
閱讀 1678·2019-08-29 13:52
閱讀 2035·2019-08-26 18:36
閱讀 530·2019-08-26 12:19
閱讀 694·2019-08-23 15:23