重溫Python基礎(chǔ)之列表操作
序言
哈嘍兄弟們,今天咱們來復(fù)習(xí)一下Python基礎(chǔ)中的列表操作,不知道各位還記得多少呢?
遍歷整個(gè)列表加粗樣式
遍歷列表的所有元素,對(duì)每一個(gè)元素進(jìn)行相同的操作,是我們常常所需要的。在python中可使用for()循環(huán)。
假如我們需要將一個(gè)列表中的手機(jī)品牌一一打印,我們可以分別獲取手機(jī)品牌的名字。如果數(shù)據(jù)特別的,對(duì)我們的操作要求量很大,而且容易輸入錯(cuò)誤,但使用for循環(huán),python可以幫你解決這些問題。
例如:
shouji=['iphone','huawei','xiaomi','vivo','oppo'] for shoujis in shouji: print(shoujis)
運(yùn)行結(jié)果
iphone
huawei
xiaomi
vivo
oppo
深入研究循環(huán)
循環(huán)這一概念非常重要,它是計(jì)算機(jī)自動(dòng)重復(fù)完成工作的常見方法之一。
python首先讀取第一行命令 for shoujis in shouji: 這讓python獲取到列表shouji的第一個(gè)值,iphone,然后下一行 print(shoujis),于是打印出讀取出的第一個(gè)值 iphone ,如此循環(huán)。
在for循環(huán)中執(zhí)行更多命令
在for循環(huán)中可對(duì)每一個(gè)元素執(zhí)行任意操作。下列展示對(duì)沒一部手機(jī)打印一條消息
shouji=['iphone','huawei','xiaomi','vivo','oppo'] for shoujis in shouji: print(f"{shoujis.title()} it is a good phone")
運(yùn)行結(jié)果
Iphone it is a good phone
Huawei it is a good phone
Xiaomi it is a good phone
Vivo it is a good phone
Oppo it is a good phone
在for循環(huán)后面,每一個(gè)縮進(jìn)的代碼都是循環(huán)的一部分。將針對(duì)列表的每一個(gè)值都執(zhí)行一次。
在for循環(huán)結(jié)束后執(zhí)行一些操作
在for循環(huán)后面,沒有縮進(jìn)的代碼只執(zhí)行一次,不會(huì)重復(fù)執(zhí)行?,F(xiàn)在操作一下對(duì)于所有手機(jī)予以五行好評(píng),代碼不縮進(jìn)。
shouji=['iphone','huawei','xiaomi','vivo','oppo'] for shoujis in shouji: print(f"{shoujis} it is a good phone") print("我給出五星好評(píng)")
運(yùn)行結(jié)果
iphone it is a good phone
huawei it is a good phone
xiaomi it is a good phone
vivo it is a good phone
oppo it is a good phone
我給出五星好評(píng)
開始編寫正確縮進(jìn)代碼時(shí),需要注意常見的縮進(jìn)錯(cuò)誤,對(duì)于for循環(huán)部分且屬于組成循環(huán)的代碼行,一定要縮進(jìn)!有時(shí)候忘記縮進(jìn)代碼會(huì)運(yùn)行且不報(bào)告錯(cuò)誤,結(jié)果很可能出乎你的意料。
使用函數(shù)range()
range()可以輕松的幫助你生產(chǎn)一系列數(shù)
例如:
for value in range(1,5): print(value)
運(yùn)行結(jié)果
1
2
3
4
上述代碼好像打印1到5,實(shí)際并不打印5。這是編輯語言中常見的差一行行為的結(jié)果。如果需要打印5,則需要使用
for value in range(1,6);
調(diào)用函數(shù)**range()**時(shí),也可指定打印一個(gè)參數(shù),他將從0開始。
使用range()創(chuàng)建數(shù)字列表
要?jiǎng)?chuàng)建數(shù)字列表,可使用函數(shù)list()將range()的結(jié)果直接轉(zhuǎn)換為列表。如果將range()作為list()的一個(gè)參數(shù),輸出的將時(shí)數(shù)字列表。
numbers = list(range(1,6)) print(numbers)
運(yùn)行結(jié)果
[1, 2, 3, 4, 5]
使用range函數(shù)也可指定步長(zhǎng)
numbers = list(range(1,6,2)) print(numbers)
運(yùn)行結(jié)果
[1, 3, 5]
使用range()依然可以創(chuàng)建一些你想要的數(shù)集,例如得出在0——10中偶數(shù)的平方的數(shù)集
squares = [] for numbers in range(0,11,2): square = numbers ** 2 squares.append(square) print(squares)
運(yùn)行結(jié)果
[0, 4, 16, 36, 64, 100]
切片
要?jiǎng)?chuàng)建切片,可指定要使用的第一個(gè)和最后一個(gè)元素的索引。與函數(shù)range()一樣python到達(dá)到達(dá)第二個(gè)索引前截至。
你可以生產(chǎn)列表的任意子集,如果想提取列表的第1,2,3個(gè)數(shù),可將起始索引指定為0,終止索引指定為3。
如果起始沒有指定索引那么python將在開頭開始提取
如果終止沒有指定索引那么python將至結(jié)尾結(jié)束
value = list(range(1,11)) print(value[0:3]) print(value[4:]) print(value[:4])
運(yùn)行結(jié)果
[1, 2, 3] [5, 6, 7, 8, 9, 10] [1, 2, 3, 4]
元組
列表非常適合用于存儲(chǔ)在程序運(yùn)行期間可能變化的數(shù)據(jù)集。列表時(shí)可以修改的。但有時(shí)候需要?jiǎng)?chuàng)建一系列不可修改的元素,元組可以滿足這種需求。
元組看起來很像列表,使用圓括號(hào)而不是中括號(hào)來標(biāo)識(shí)。定義元組后,可以使用索引來訪問元素,就像訪問列表一樣。
下例操作一下元組及嘗試修改元組。
name = ('xiao','xiong') print(name[0]) print(name[1]) name[1]='old'
運(yùn)行結(jié)果
Traceback (most recent call last):
File "C:\Users\Desktop\python\py1.py", line 195, in <module>
name[1]='old'
TypeError: 'tuple' object does not support item assignment
xiao
xiong
由此可見,如果對(duì)元組內(nèi)的數(shù)據(jù)進(jìn)行更改,則會(huì)出現(xiàn)報(bào)錯(cuò)。
按照列表訪問的方法可以正常訪問。
遍歷元組中的所有值
像列表一樣,可以使用for循環(huán)來遍歷元組中的所有值
numbers = (1,2,3,4,5,6) for number in numbers: print(number)
運(yùn)行結(jié)果
1
2
3
4
5
6
修改元組變量
雖然不能修改元組的元素,但可以存儲(chǔ)元組的變量賦值。因此可以遍歷整個(gè)元組:
numbers = (1,2,3,4,5,6) print("original numbers") for number in numbers: print(number) numbers = (11,22,33,44,55,66) print("change numbers") for number in numbers: print(number)
運(yùn)行結(jié)果
original numbers
1
2
3
4
5
6
change numbers
11
22
33
44**加粗樣式**
55
66
首先定義一個(gè)元組,并將其存儲(chǔ)的數(shù)據(jù)打印出來,接下來將一個(gè)新元組關(guān)聯(lián)到變量numbers,然后打印新的數(shù)據(jù)。這一次可以成功編譯,因?yàn)榻o元組變量重新賦值是合法的。
到此這篇關(guān)于重溫Python基礎(chǔ)之列表操作的文章就介紹到這了,更多相關(guān)Python列表操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python入門教程(十七)Python的While循環(huán)
這篇文章主要介紹了Python入門教程(十七)Python的While循環(huán),Python是一門非常強(qiáng)大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下2023-04-04python中not、and和or的優(yōu)先級(jí)與詳細(xì)用法介紹
這篇文章主要給大家介紹了python中not、and和or的優(yōu)先級(jí)與詳細(xì)用法介紹,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Python實(shí)現(xiàn)上下文管理器的示例代碼
這篇文章主要為大家詳細(xì)介紹了Python中實(shí)現(xiàn)上下文管理器的具體方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-07-07Python2和Python3之間的str處理方式導(dǎo)致亂碼的講解
今天小編就為大家分享一篇關(guān)于Python2和Python3之間的str處理方式導(dǎo)致亂碼的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01使用PySpider進(jìn)行IP代理爬蟲的技巧與實(shí)踐分享
PySpider是一個(gè)基于Python的強(qiáng)大的開源網(wǎng)絡(luò)爬蟲框架,它使用簡(jiǎn)單、靈活,并且具有良好的擴(kuò)展性,本文將介紹如何使用PySpider進(jìn)行IP代理爬蟲,并提供一些技巧和實(shí)踐經(jīng)驗(yàn),文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-03-03python中print函數(shù)的用法示例與詳細(xì)講解
這篇文章主要給大家介紹了關(guān)于python中print函數(shù)的用法示例與詳細(xì)講解,print()函數(shù)可以將輸出的信息打印出來,即發(fā)送給標(biāo)準(zhǔn)輸出流,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05