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
列表的可變性和順序
可變性是指對象創(chuàng)建完畢后,我們是否可以更改該對象。如果對象(例如列表或字符串)可以更改,則是可變的。但是,如果無法更改對象以創(chuàng)建全新的對象(例如字符串),則該對象是不可變的。
列表可變性測試:
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
但可以修改字符串對象的地址:
greeting = "Hello there" greeting = 'Hi there' print(greeting) # Hi there
本節(jié)注意事項(xiàng):對于你要使用的每種數(shù)據(jù)類型,你都需要注意兩個(gè)事項(xiàng):可變嗎?有序嗎?
列表和成員運(yùn)算符[相關(guān)練習(xí)]
請使用列表索引根據(jù)整型變量 month 判斷特定月份有多少天,并將該值存儲在整型變量 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)
請使用列表切片記法從此列表中選擇列表中的最后三個(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ù)是列表中的對象類型。數(shù)字列表中的最大元素是最大的數(shù)字。字符串列表中的最大元素是按照字母順序排序時(shí)排在最后一位的元素。因?yàn)?max() 函數(shù)的定義依據(jù)是大于比較運(yùn)算符。如果列表包含不同的無法比較類型的元素,則 max() 的結(jié)果是 undefined。min()返回列表中的最小元素。它是 max() 函數(shù)的對立面,返回列表中的最小元素。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文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用?PyQt5?設(shè)計(jì)下載遠(yuǎn)程服務(wù)器日志文件程序的思路
這篇文章主要介紹了使用?PyQt5?設(shè)計(jì)下載遠(yuǎn)程服務(wù)器日志文件程序,借助 PyQt5 強(qiáng)大的能力,我們可以通過“拖拉拽”的形式很容易地實(shí)現(xiàn)桌面端程序,只需要將原來的 Python 腳本綁定到 UI 程序的事件中,就實(shí)現(xiàn)了命令行程序到桌面程序的演進(jìn),需要的朋友可以參考下2022-11-11
實(shí)現(xiàn)Python圖形界面框架TkInter寫GUI界面應(yīng)用簡介過程操作
TkInter是Python用于開發(fā)GUI界面的標(biāo)準(zhǔn)庫,如果你想快速開發(fā)一個(gè)帶有GUI界面的小工具(笑小程序),且又能同時(shí)在Linux、Windows、Mac上使用,TkInter天生支持跨平臺,天生具備穩(wěn)定性,我認(rèn)為它能滿足內(nèi)部工具的簡單需求2021-09-09
python+webdriver自動(dòng)化環(huán)境搭建步驟詳解
在本篇文章里小編給大家分享了關(guān)于python+webdriver自動(dòng)化環(huán)境搭建的詳細(xì)步驟以及注意點(diǎn),需要的朋友們參考下。2019-06-06
python使用requests庫爬取拉勾網(wǎng)招聘信息的實(shí)現(xiàn)
這篇文章主要介紹了python使用requests庫爬取拉勾網(wǎng)招聘信息的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
PyTorch中的nn.ConvTranspose2d模塊詳解
nn.ConvTranspose2d是PyTorch中用于實(shí)現(xiàn)二維轉(zhuǎn)置卷積的模塊,廣泛應(yīng)用于生成對抗網(wǎng)絡(luò)(GANs)和卷積神經(jīng)網(wǎng)絡(luò)(CNNs)的解碼器中。該模塊通過參數(shù)如輸入輸出通道數(shù)、卷積核大小、步長、填充等,能控制輸出尺寸和避免棋盤效應(yīng)2024-09-09
Pycharm遠(yuǎn)程連接服務(wù)器并實(shí)現(xiàn)代碼同步上傳更新功能
這篇文章主要介紹了Pycharm遠(yuǎn)程連接服務(wù)器并實(shí)現(xiàn)代碼同步上傳更新功能,通過配置遠(yuǎn)程連接pycharm,直接在windows下pycharm里修改再保存就可以實(shí)現(xiàn)同步更新到服務(wù)器里的代碼里了,需要的朋友可以參考下2020-02-02

