摘要:本章主要介紹列表的基礎(chǔ)與簡(jiǎn)單操作。列表是什么列表由一系列按特定順序排列的元素組成。中用中括號(hào)來(lái)表示列表,并用逗號(hào)分隔其中的元素。代碼結(jié)果打印了該列表的內(nèi)部表示訪問(wèn)與使用列表中的元素大多數(shù)編程語(yǔ)言中,索引都是從開(kāi)始的,而不是從開(kāi)始的。
《Python編程:從入門(mén)到實(shí)踐》筆記。1. 列表(List)是什么
本章主要介紹列表的基礎(chǔ)與簡(jiǎn)單操作。
列表由一系列按特定順序排列的元素組成。
類似于C/C++, Java中的數(shù)組,但和他們不同的是,Python列表中的元素可以是不同類型。
Python中用中括號(hào)[]來(lái)表示列表,并用逗號(hào)分隔其中的元素。
# 代碼: bicycles = ["trek", "cannondale", "redline", "specialized"] print(bicycles) # 結(jié)果: # python打印了該列表的內(nèi)部表示 ["trek", "cannondale", "redline", "specialized"]1.1 訪問(wèn)與使用列表中的元素
大多數(shù)編程語(yǔ)言中,索引都是從0開(kāi)始的,而不是從1開(kāi)始的。以下代碼是輸出上述列表中的第1個(gè)元素:
# 代碼: print(bicycles[0]) print(bicycles[0].title()) message = "My first bicycle was a " + bicycles[0].title() + "." print(message) # 結(jié)果: trek Trek My first bicycle was a Trek.
Python還支持索引為負(fù)數(shù),表示從后往前數(shù),“-1”表示倒數(shù)第1個(gè)元素,例如:
# 代碼: print(bicycles[-1]) # 結(jié)果: specialized
但是,不管索引是正數(shù)還是負(fù)數(shù),都要注意索引越界問(wèn)題!
2. 修改、添加和刪除元素 2.1修改列表元素# 代碼: # 修改第一個(gè)元素 motorcycles = ["honda", "yamaha", "suzuki"] print(motorcycles) motorcycles[0] = "ducati" print(motorcycles) # 結(jié)果: ["honda", "yamaha", "suzuki"] ["ducati", "yamaha", "suzuki"]2.2 添加元素
在列表末尾添加元素:
# 代碼: motorcycles = ["honda", "yamaha", "suzuki"] print(motorcycles) motorcycles.append("ducati") print(motorcycles) # 結(jié)果: ["honda", "yamaha", "suzuki"] ["honda", "yamaha", "suzuki", "ducati"]
也可以動(dòng)態(tài)建立motorcycles列表:
# 代碼: motorcycles = [] # 此句很重要!表示聲明一個(gè)列表! motorcycles.append("honda") motorcycles.append("yamaha") motorcycles.append("suzuki") print(motorcycles) # 結(jié)果: ["honda", "yamaha", "suzuki"]
在列表中插入元素:
# 代碼: motorcycles = ["honda", "yamaha", "suzuki"] motorcycles.insert(0, "ducati") print(motorcycles) motorcycles.insert(4, "dongfeng") # 在最后插入一個(gè)元素,相當(dāng)于motorcycles.append("dongfeng") print(motorcycles) # 結(jié)果: ["ducati", "honda", "yamaha", "suzuki"] ["ducati", "honda", "yamaha", "suzuki", "dongfeng"]2.3刪除元素
使用 del 語(yǔ)句刪除元素:知道元素在列表中的位置
# 代碼: motorcycles = ["honda", "yamaha", "suzuki"] print(motorcycles) del motorcycles[0] print(motorcycles) # 結(jié)果: ["honda", "yamaha", "suzuki"] ["yamaha", "suzuki"]
del 可刪除任意位置的列表元素,前提是知道其索引
使用 pop() 方法刪除元素:會(huì)返回被刪除的元素,當(dāng)對(duì)被刪除的元素還有后續(xù)操作時(shí)使用此方法。
默認(rèn)刪除列表最后一個(gè)元素,當(dāng)傳入?yún)?shù)(作為索引)時(shí),刪除指定位置的元素(但請(qǐng)注意越界問(wèn)題):
# 代碼: motorcycles = ["honda", "yamaha", "suzuki"] print(motorcycles) last_owned = motorcycles.pop() # 默認(rèn) print("The last motorcycle I owned was a " + last_owned.title() + ".") print(motorcycles) motorcycles.pop(1) # 傳入?yún)?shù) print(motorcycles) # 結(jié)果: ["honda", "yamaha", "suzuki"] The last motorcycle I owned was a Suzuki. ["honda", "yamaha"] ["honda"]
所以,pop() 方法也可以刪除任意位置的元素
根據(jù)值刪除元素的 remove()方法:當(dāng)不知道元素索引,但知道元素值時(shí)
# 代碼: motorcycles = ["honda", "yamaha", "suzuki", "ducati"] print(motorcycles) motorcycles.remove("ducati") print(motorcycles) # 結(jié)果: ["honda", "yamaha", "suzuki", "ducati"] ["honda", "yamaha", "suzuki"]
注意,如果列表中有多個(gè)相同的值,romve() 方法只刪除第一個(gè)
3. 組織列表 3.1 排序sort() 方法對(duì)列表永久排序(原地操作):
# 代碼: cars = ["bmw", "audi", "toyota", "subaru"] cars.sort() print(cars) # 結(jié)果: ["audi", "bmw", "subaru", "toyota"]
如果不想修改原列表,則應(yīng)使用以下方法。
使用 sorted() 函數(shù)對(duì)列表進(jìn)行臨時(shí)排序:
# 代碼: cars = ["bmw", "audi", "toyota", "subaru"] print("Here is the original list:") print(cars) print(" Here is ths sorted list:") print(sorted(cars)) print(" Here is the original list again:") print(cars) # 結(jié)果: Here is the original list: ["bmw", "audi", "toyota", "subaru"] Here is ths sorted list: ["audi", "bmw", "subaru", "toyota"] Here is the original list again: ["bmw", "audi", "toyota", "subaru"]
不管是sort() 方法還是 sorted() 函數(shù),如果想反向排序,只需要傳入關(guān)鍵字參數(shù)reverse=True:
cars.sort(reverse=True) sorted(cars, reverse=True)
以上兩種排序是按ASCII碼進(jìn)行的排序,如果想自定義排序,需要傳入自定義比較函數(shù)。
反向打印列表:reverse() 方法,也是原地操作!并且這只是反向打印列表的實(shí)現(xiàn)方法之一
# 代碼: cars = ["bmw", "audi", "toyota", "subaru"] print(cars) cars.reverse() # 注意!并沒(méi)有排序后再反向! print(cars) # 結(jié)果: ["bmw", "audi", "toyota", "subaru"] ["subaru", "toyota", "audi", "bmw"]3.2 確定列表長(zhǎng)度
使用 len() 函數(shù)獲得列表長(zhǎng)度:
# 代碼: cars = ["bmw", "audi", "toyota", "subaru"] print(len(cars)) # 結(jié)果: 4
迎大家關(guān)注我的微信公眾號(hào)"代碼港" & 個(gè)人網(wǎng)站 www.vpointer.net ~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41800.html
摘要:小結(jié)本篇主要講述了如何生成數(shù)據(jù)集以及如何對(duì)其進(jìn)行可視化如何使用創(chuàng)建簡(jiǎn)單的圖表如果使用散點(diǎn)圖來(lái)探索隨機(jī)漫步過(guò)程如何使用創(chuàng)建直方圖,以及如何使用直方圖來(lái)探索同時(shí)擲兩個(gè)面數(shù)不同的骰子的結(jié)果。 《Python編程:從入門(mén)到實(shí)踐》筆記。從本篇起將用三篇的篇幅介紹如何用Python進(jìn)行數(shù)據(jù)可視化。 1. 前言 從本篇開(kāi)始,我們將用三篇的篇幅來(lái)初步介紹如何使用Python來(lái)進(jìn)行數(shù)據(jù)可視化操作。本篇的...
摘要:本章主要介紹字典的概念,基本操作以及一些進(jìn)階操作。使用字典在中,字典是一系列鍵值對(duì)。中用花括號(hào)來(lái)表示字典。代碼定義空字典的語(yǔ)法結(jié)果如果要修改字典中的值,只需通過(guò)鍵名訪問(wèn)就行。 《Python編程:從入門(mén)到實(shí)踐》筆記。本章主要介紹字典的概念,基本操作以及一些進(jìn)階操作。 1. 使用字典(Dict) 在Python中,字典是一系列鍵值對(duì)。每個(gè)鍵都與一個(gè)值相關(guān)聯(lián),用鍵來(lái)訪問(wèn)值。Python中用...
摘要:本章主要介紹如何進(jìn)行用戶輸入,循環(huán),以及與循環(huán)配合使用的語(yǔ)句。函數(shù)在中,使用函數(shù)獲取用戶輸入,這里請(qǐng)注意的返回值為字符串。值得提醒的是,編寫(xiě)循環(huán)時(shí)應(yīng)避免死循環(huán),或者叫做無(wú)限循環(huán),比如循環(huán)忘記了變量自增。 《Python編程:從入門(mén)到實(shí)踐》筆記。本章主要介紹如何進(jìn)行用戶輸入,while循環(huán),以及與循環(huán)配合使用的break, continue語(yǔ)句。 1. input() 函數(shù) 在Pytho...
摘要:本章內(nèi)容主要是對(duì)列表的進(jìn)一步操作,以及初識(shí)元組數(shù)據(jù)結(jié)構(gòu)。列表非常適合用于存儲(chǔ)在程序運(yùn)行期間可能變化的數(shù)據(jù)集,列表可以被修改。代碼結(jié)果相比于列表,元組是更簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。 《Python編程:從入門(mén)到實(shí)踐》筆記。本章內(nèi)容主要是對(duì)列表的進(jìn)一步操作,以及初識(shí)元組數(shù)據(jù)結(jié)構(gòu)。 1. 遍歷列表 本章主要是for循環(huán): # 代碼: magicians = [alice, david, carolin...
摘要:本節(jié)中將繪制幅圖像收盤(pán)折線圖,收盤(pán)價(jià)對(duì)數(shù)變換,收盤(pán)價(jià)月日均值,收盤(pán)價(jià)周日均值,收盤(pán)價(jià)星期均值。對(duì)數(shù)變換是常用的處理方法之一。 《Python編程:從入門(mén)到實(shí)踐》筆記。本篇是Python數(shù)據(jù)處理的第二篇,本篇將使用網(wǎng)上下載的數(shù)據(jù),對(duì)這些數(shù)據(jù)進(jìn)行可視化。 1. 前言 本篇將訪問(wèn)并可視化以兩種常見(jiàn)格式存儲(chǔ)的數(shù)據(jù):CSV和JSON: 使用Python的csv模塊來(lái)處理以CSV(逗號(hào)分隔的值)...
閱讀 1385·2021-09-13 10:25
閱讀 570·2019-08-30 15:53
閱讀 2279·2019-08-30 15:44
閱讀 2041·2019-08-29 17:20
閱讀 1606·2019-08-29 16:36
閱讀 1807·2019-08-29 14:10
閱讀 1794·2019-08-29 12:44
閱讀 1176·2019-08-23 14:13