官术网_书友最值得收藏!

1.5 Python的數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)的載體,在Python語言中,數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式是如列表、元組和字典等的對象。

1.5.1 列表及其用法

Python用方括號的形式來定義列表,再用逗號來間隔列表中的各個元素或值。下面的ListDemo.py范例程序演示了列表的常見用法。

本范例程序第1行代碼定義了名為langList的列表,該列表有4個元素,即4個字符串類型的數(shù)據(jù)。在Python中列表是用方括號來定義的,列表中的元素以逗號來分隔。第3行的print語句輸出該列表中包含的數(shù)據(jù)。

Python的列表不僅可以存儲字符串類型的數(shù)據(jù),還可以存儲布爾型或浮點型的數(shù)據(jù)。第4行代碼演示了在列表中存儲布爾型數(shù)據(jù)的用法。第7行代碼演示了存儲浮點型數(shù)據(jù)的用法。

Python的列表還可以混合存儲不同類型的數(shù)據(jù),比如第10行定義的mixedList列表包含了字符串類型、布爾類型和浮點型三種不同類型的數(shù)據(jù)。

雖然如此,在實踐中一般會在同一個列表里只存放一種類型的數(shù)據(jù),如果存放了多種不同類型的數(shù)據(jù),那么在讀取列表中元素時,就不得不用多種方法來處理不同類型的數(shù)據(jù),這無疑增加了代碼的復(fù)雜度,也就增加了代碼出錯的可能性。

1.5.2 元組及其用法

元組和列表非常相似,都是用線性表的形式來存儲數(shù)據(jù)。不過,在創(chuàng)建元組對象后,元組對象中的元素是不能被修改的,否則就會報錯,不過元組作為一個整體可以被一次性刪除。下面的TupleDemo.py范例程序演示了元組的常見用法。

本范例程序第1行代碼用小括號的形式創(chuàng)建了名為myTuple的元組,并在其中存放了3個數(shù)據(jù)(即元素)。第2行的print語句輸出了該元組中的所有元素。

前文已經(jīng)講過,元組中的元素是不能被修改的,如果企圖通過第4行和第6行的代碼修改或刪除元組中的元素,就會出現(xiàn)第3行和第5行的報錯提示信息。

不過元組可以作為一個整體被一次性地刪除掉,比如可通過上述第7行的代碼,用del方法一次性地刪除整個元組。

1.5.3 字典及其用法

程序員可以在Python的字典中用“鍵-值對”(Key-Value Pair)的方式來容納數(shù)據(jù)。單純從語法角度來看,在字典中可以存儲Python所支持的任何數(shù)據(jù)類型的數(shù)據(jù),但是為了提升代碼的可維護(hù)性,字典中“鍵-值對”數(shù)據(jù)的類型應(yīng)當(dāng)保持統(tǒng)一。

在Python中用大括號的形式來創(chuàng)建字典,字典里的鍵和值之間用冒號分隔,而每個“鍵-值對”用逗號分隔。下面的DictDemo.py范例程序演示了創(chuàng)建和使用字典的常見方法。

本范例程序第1行代碼通過大括號定義了一個字典,以“鍵-值對”的形式存儲了3種編程語言的考試成績。第2行演示了通過鍵來訪問值的用法。

第3行和第4行代碼演示了在字典中增加“鍵-值對”和通過鍵來更新值的用法。在第3行的代碼中,因為沒有'G#'這個鍵,所以就會在字典里增加“鍵-值對”。在第4行的代碼中,由于存在'Python'這個鍵,因此是通過鍵更新對應(yīng)的值。第5行的代碼演示了用del關(guān)鍵字通過指定鍵刪除字典中“鍵-值對”的方式。在這段代碼的最后,通過第7行的print語句輸出字典的最新內(nèi)容,以確認(rèn)了添加、更新和刪除字典中對象的結(jié)果。

主站蜘蛛池模板: 凌源市| 樟树市| 额敏县| 永顺县| 汤阴县| 怀化市| 卫辉市| 高平市| 盐山县| 措勤县| 石狮市| 瑞安市| 竹山县| 平和县| 临洮县| 东明县| 南阳市| 华安县| 巧家县| 洪江市| 广平县| 丰宁| 安阳市| 若尔盖县| 含山县| 海门市| 桃园市| 苍南县| 无为县| 阳江市| 化州市| 和田县| 吕梁市| 泰兴市| 汝阳县| 大英县| 临猗县| 五常市| 建湖县| 乌拉特中旗| 凌源市|