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

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

準(zhǔ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)

如果你嘗試向元組中添加元素,你會得到一個錯誤。

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

colors.append('purple')

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

元組生成字符串

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

animal = 'dog'

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

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

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

for animal in animals:

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

我們用加號來實現(xiàn),這種方法是符合直覺的,但不夠簡潔。使用占位符就能使代碼更簡潔。

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

animal = 'dog'

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

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

這種方法被稱為格式化字符串(string formatting)。如果你有不止一個數(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ù)字的格式化字符串

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

number = 23

print("My favorite number is " + number)

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

number = 23

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

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

number = 23

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

同理,你想嵌入多個數(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ù)雜的方法做字符串格式化。我們會留到以后再講。

動手試一試

Gymnast Scores

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

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

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

Revision with Tuples

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

# 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)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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