Python 基礎(chǔ)知識(shí)全篇-元組(Tuples)

元組可以被看成是不能改變的列表。列表是動(dòng)態(tài)的,你可以增添,插入,刪除,更改列表元素。有時(shí)我們需要這樣的操作,但是有些時(shí)候我們需要保證有些數(shù)據(jù)是不能被用戶或程序更改的。這就是元組的作用。

準(zhǔn)確的說(shuō),列表是可變對(duì)象,元組是不可變對(duì)象。

定義和訪問(wèn)元組

元組的定義和列表相似,只是列表是用方括號(hào)定義,元組是用圓括號(hào)定義的。一旦定義好元組,你可以像訪問(wèn)列表那樣訪問(wèn)元組元素,并且可以使用?for?循環(huán)。

更多學(xué)習(xí)資料,加Q群:313074041

colors? =? ('red',? 'green',? 'blue')

print("The first color is: " + colors[0])

print("\nThe available colors are:")

for color in colors:

? ? print("- " + color)

如果你嘗試向元組中添加元素,你會(huì)得到一個(gè)錯(cuò)誤。

colors = ('red', 'green', 'blue')

colors.append('purple')

同樣的,其他操作也會(huì)導(dǎo)致錯(cuò)誤。一旦定義好一個(gè)元組,它就不會(huì)被改變。

元組生成字符串

我們知道混合英文字符和存儲(chǔ)字符串的變量是相當(dāng)有用的,如下所示:

animal = 'dog'

print("I have a " + animal + ".")

當(dāng)我們想要生成一系列的語(yǔ)句的時(shí)候,這種方式是不錯(cuò)的生成方式。如下所示:

animals = ['dog', 'cat', 'bear']

for animal in animals:

? ? print("I have a " + animal + ".")

我們用加號(hào)來(lái)實(shí)現(xiàn),這種方法是符合直覺(jué)的,但不夠簡(jiǎn)潔。使用占位符就能使代碼更簡(jiǎn)潔。

Python 通常會(huì)忽略掉我們放進(jìn)字符串的字符,但是它會(huì)對(duì)少許字符格外注意。例如 "\t" 和 "\n"。Python 同樣也會(huì)注意到 "%s" 和 "%d"。它們被稱為占位符。當(dāng) Python 看到了 "%s" 占位符,它就會(huì)找到 % 后的第一個(gè)參數(shù)填充進(jìn)占位符。如下所示:

animal = 'dog'

print("I have a %s." % animal)

這是一種相當(dāng)簡(jiǎn)潔的方法來(lái)生成包含變量的字符串。我們將句子寫(xiě)進(jìn)一條字符串中,然后告訴 Python 我們需要什么值嵌入到字符串的指定位置中。

這種方法被稱為格式化字符串(string formatting)。如果你有不止一個(gè)數(shù)據(jù)要填充進(jìn)字符串中,你需要將參數(shù)放進(jìn)元組中。如下所示:

animals = ['dog', 'cat', 'bear']

print("I have a %s, a %s, and a %s." % (animals[0], animals[1], animals[2]))

包含數(shù)字的格式化字符串

如果你想打印一個(gè)包含數(shù)字的字符串,如下所示:

number = 23

print("My favorite number is " + number)

上述代碼會(huì)報(bào)錯(cuò)。Python 不知道你指的是值為23還是作為字符串的“23”。如果你想讓 Python 以字符串的形式對(duì)待這個(gè)變量,我們需要用到str()函數(shù)將數(shù)字轉(zhuǎn)為字符串。如下所示:

number = 23

print("My favorite number is " + str(number) + ".")

如果要用格式化的字符串,"%d" 會(huì)幫助到我們。如下所示:

number = 23

print("My favorite number is %d." % number)

同理,你想嵌入多個(gè)數(shù)字,只需要將參數(shù)放進(jìn)元組里。如下所示:

numbers = [7, 23, 42]

print("My favorite numbers are %d, %d, and %d." % (numbers[0], numbers[1], numbers[2]))

你也可以混合使用字符串和數(shù)字占位符。不再贅述。

在 Python 3 中還有很多復(fù)雜的方法做字符串格式化。我們會(huì)留到以后再講。

動(dòng)手試一試

Gymnast Scores

裁判給體操運(yùn)動(dòng)員打分,1-10分。所有的分?jǐn)?shù)都是整數(shù)。

把運(yùn)動(dòng)員可能得到的分?jǐn)?shù)存儲(chǔ)到元組中。

從元組中取出元素打印語(yǔ)句 “The lowest possible score is ___, and the highest possible score is ___.”

Revision with Tuples

使用格式化字符串打印 Gymnast Scores 中的語(yǔ)句。

# Ex : Gymnast Scores

# put your code here

更多學(xué)習(xí)資料,加Q群:313074041

# Ex : Revision with Tuples

# put your code here

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容