本文實(shí)例講述了Python學(xué)習(xí)筆記之列表和成員運(yùn)算符及列表相關(guān)方法。分享給大家供大家參考,具體如下:
列表和成員運(yùn)算符
列表可以包含我們到目前為止所學(xué)的任何數(shù)據(jù)類(lèi)型并且可以混合到一起。
lst_of_random_things = [1, 3.4, 'a string', True] # 這是一個(gè)包含 4 個(gè)不同類(lèi)型元素的列表 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ù)從列表的末尾開(kāi)始編制索引,其中 -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]
從列表的開(kāi)頭開(kāi)始,也可以省略起始值
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ì)象(例如列表或字符串)可以更改,則是可變的。但是,如果無(wú)法更改對(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 "", line 1, in
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ù)類(lèi)型,你都需要注意兩個(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ì)象類(lèi)型。數(shù)字列表中的最大元素是最大的數(shù)字。字符串列表中的最大元素是按照字母順序排序時(shí)排在最后一位的元素。因?yàn)?max() 函數(shù)的定義依據(jù)是大于比較運(yùn)算符。如果列表包含不同的無(wú)法比較類(lèi)型的元素,則 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)容可查看本站專(zhuān)題:《Python列表(list)操作技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
