Python學(xué)習(xí)筆記之列表和成員運(yùn)算符及列表相關(guān)方法詳解
本文實(shí)例講述了Python學(xué)習(xí)筆記之列表和成員運(yùn)算符及列表相關(guān)方法。分享給大家供大家參考,具體如下:
列表和成員運(yùn)算符
列表可以包含我們到目前為止所學(xué)的任何數(shù)據(jù)類型并且可以混合到一起。
lst_of_random_things = [1, 3.4, 'a string', True] # 這是一個(gè)包含 4 個(gè)不同類型元素的列表 print(lst_of_random_things[0]) # 1
獲取上述列表的第一個(gè)值和最后一個(gè)值
print(lst_of_random_things[0]) # 1 print(lst_of_random_things[len(lst_of_random_things) - 1]) # True
此外,你可以使用負(fù)數(shù)從列表的末尾開始編制索引,其中 -1 表示最后一個(gè)元素,-2 表示倒數(shù)第二個(gè)元素,等等
print(lst_of_random_things[-1]) # True print(lst_of_random_things[-2]) # a string
列表切片的應(yīng)用: 我們可以使用切片功能從列表中提取多個(gè)值。在使用切片功能時(shí),務(wù)必注意,下限索引包含在內(nèi),上限索引排除在外, 最終返回的是一個(gè)新的列表
正常的用法:
lst_of_random_things = [1, 3.4, 'a string', True] print(lst_of_random_things[1:2]) # [3.4]
從列表的開頭開始,也可以省略起始值
lst_of_random_things = [1, 3.4, 'a string', True] print(lst_of_random_things[:2]) # [1, 3.4]
要返回到列表結(jié)尾的所有值,可以忽略最后一個(gè)元素
lst_of_random_things = [1, 3.4, 'a string', True] print(lst_of_random_things[1:]) # [3.4, 'a string', True]
在列表里還是不在列表里?關(guān)鍵字 in 和 not in 返回一個(gè)布爾值, 表示某個(gè)元素是否存在于列表中,或者某個(gè)字符串是否為另一個(gè)字符串的子字符串
print('this' in 'this is a string') # True print('in' in 'this is a string') # True print('isa' in 'this is a string') # False print(5 not in [1, 2, 3, 4, 6]) # True print(5 in [1, 2, 3, 4, 6]) # False
列表的可變性和順序
可變性是指對(duì)象創(chuàng)建完畢后,我們是否可以更改該對(duì)象。如果對(duì)象(例如列表或字符串)可以更改,則是可變的。但是,如果無法更改對(duì)象以創(chuàng)建全新的對(duì)象(例如字符串),則該對(duì)象是不可變的。
列表可變性測(cè)試:
my_lst = [1, 2, 3, 4, 5] my_lst[0] = 'one' print(my_lst) # ['one', 2, 3, 4, 5]
下面嘗試修改字符串:
greeting = "Hello there" greeting[0] = 'M'
嘗試修改字符串,引發(fā)如下錯(cuò)誤:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
但可以修改字符串對(duì)象的地址:
greeting = "Hello there" greeting = 'Hi there' print(greeting) # Hi there
本節(jié)注意事項(xiàng):對(duì)于你要使用的每種數(shù)據(jù)類型,你都需要注意兩個(gè)事項(xiàng):可變嗎?有序嗎?
列表和成員運(yùn)算符[相關(guān)練習(xí)]
請(qǐng)使用列表索引根據(jù)整型變量 month 判斷特定月份有多少天,并將該值存儲(chǔ)在整型變量 num_days 中
month = 8 days_in_month = [31,28,31,30,31,30,31,31,30,31,30,31] # use list indexing to determine the number of days in month num_days = days_in_month[month - 1] print(num_days)
請(qǐng)使用列表切片記法從此列表中選擇列表中的最后三個(gè)元素。提示:切片可以使用負(fù)索引!
eclipse_dates = ['June 21, 2001', 'December 4, 2002', 'November 23, 2003', 'March 29, 2006', 'August 1, 2008', 'July 22, 2009', 'July 11, 2010', 'November 13, 2012', 'March 20, 2015', 'March 9, 2016'] # TODO: Modify this line so it prints the last three elements of the list print(eclipse_dates[-3:])
列表的常用方法
常用方法舉例
len()
返回列表中的元素?cái)?shù)量。max()
返回列表中的最大元素。最大元素的判斷依據(jù)是列表中的對(duì)象類型。數(shù)字列表中的最大元素是最大的數(shù)字。字符串列表中的最大元素是按照字母順序排序時(shí)排在最后一位的元素。因?yàn)?max() 函數(shù)的定義依據(jù)是大于比較運(yùn)算符。如果列表包含不同的無法比較類型的元素,則 max() 的結(jié)果是 undefined。min()
返回列表中的最小元素。它是 max() 函數(shù)的對(duì)立面,返回列表中的最小元素。sorted()
返回一個(gè)從最小到最大排序的列表副本,并使原始列表保持不變。join()
將字符串列表作為參數(shù),并返回一個(gè)由列表元素組成并由分隔符字符串分隔的字符串。append()
實(shí)用方法 append() 會(huì)將元素添加到列表末尾。
方法實(shí)踐舉例之join()
new_str = "\n".join(["fore", "aft", "starboard", "port"]) print(new_str)
輸出: 在此示例中,我們使用字符串 “\n” 作為分隔符,以便每個(gè)元素之間都有一個(gè)換行符。我們還可以在 .join 中使用其他字符串作為分隔符。以下代碼使用的是連字符。
fore aft starboard port
or
name = "-".join(["García", "O'Kelly"]) print(name)
輸出:
García-O'Kelly
方法實(shí)踐舉例之a(chǎn)ppend()
letters = ['a', 'b', 'c', 'd'] letters.append('z') print(letters)
輸出:
['a', 'b', 'c', 'd', 'z']
列表的常用方法[相關(guān)練習(xí)]
以下代碼的輸出是什么?
a = [1, 5, 8] b = [2, 6, 9, 10] c = [100, 200] print(max([len(a), len(b), len(c)])) # 4 print(min([len(a), len(b), len(c)])) # 2
以下代碼的輸出是什么?
names = ["Carol", "Albert", "Ben", "Donna"] print(" & ".join(sorted(names))) # Albert & Ben & Carol & Donna
以下代碼的輸出是什么?
names = ["Carol", "Albert", "Ben", "Donna"] names.append("Eugenia") print(sorted(names)) # ['Albert', 'Ben', 'Carol', 'Donna', 'Eugenia']
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python列表(list)操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python對(duì)raw格式照片進(jìn)行降噪處理的方法詳解
要對(duì)RAW格式的照片進(jìn)行降噪,我們可以使用rawpy庫來讀取RAW圖像,并使用imageio庫將處理后的圖像保存為其他格式,如PNG或JPEG,本文將詳細(xì)給大家介紹python如何對(duì)raw格式照片進(jìn)行降噪處理,文中有詳細(xì)的代碼流程,需要的朋友可以參考下2023-05-05Python應(yīng)用實(shí)現(xiàn)處理excel數(shù)據(jù)過程解析
這篇文章主要介紹了Python應(yīng)用實(shí)現(xiàn)處理excel數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06終于搞懂了Keras中multiloss的對(duì)應(yīng)關(guān)系介紹
這篇文章主要介紹了終于搞懂了Keras中multiloss的對(duì)應(yīng)關(guān)系介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06解決python中import文件夾下面py文件報(bào)錯(cuò)問題
這篇文章主要介紹了解決python中import文件夾下面py文件報(bào)錯(cuò)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python實(shí)現(xiàn)監(jiān)控遠(yuǎn)程主機(jī)實(shí)時(shí)數(shù)據(jù)的示例詳解
這篇文章主要為大家詳細(xì)介紹了Python如何使用Socket庫和相應(yīng)的第三方庫來監(jiān)控遠(yuǎn)程主機(jī)的實(shí)時(shí)數(shù)據(jù),比如CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)帶寬等,感興趣的可以了解一下2023-04-04opencv python統(tǒng)計(jì)及繪制直方圖的方法
這篇文章主要介紹了opencv python統(tǒng)計(jì)及繪制直方圖的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01Python?Opencv中獲取卷積核的實(shí)現(xiàn)代碼
這篇文章主要介紹了Python?Opencv中獲取卷積核的實(shí)現(xiàn)代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Python導(dǎo)入其他文件夾中函數(shù)的實(shí)現(xiàn)方法
本文主要介紹了Python導(dǎo)入其他文件夾中函數(shù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01