Python 基礎(chǔ)知識(shí)-列表常用操作

修改元素

知道元素的位置,可以更改元素的值。

dogs = ['border collie', 'australian cattle dog', 'labrador retriever']

dogs[0] = 'australian shepherd'

print(dogs)

查找元素

如果要定位列表中的元素,可以使用 index() 函數(shù)。

dogs = ['border collie', 'australian cattle dog', 'labrador retriever']

print(dogs.index('australian cattle dog'))

檢測(cè)元素是否在列表中

關(guān)鍵字?in?用來(lái)檢測(cè)元素是否在列表中。

dogs = ['border collie', 'australian cattle dog', 'labrador retriever']

print('australian cattle dog' in dogs)

print('poodle' in dogs)

添加元素

在列表尾部添加元素

append()?函數(shù)在列表尾部添加元素。

dogs = ['border collie', 'australian cattle dog', 'labrador retriever']

dogs.append('poodle')

for dog in dogs:

print(dog.title() + "s are cool.")

向列表中插入元素

insert()?函數(shù)可以插入到任意位置。指定一個(gè)位置插入元素,這個(gè)位置之后的所有元素的索引都增加1。

dogs = ['border collie', 'australian cattle dog', 'labrador retriever']

dogs.insert(1, 'poodle')

print(dogs)

創(chuàng)建空的列表

了解到列表的添加操作后,我們可以動(dòng)態(tài)的利用列表。不再局限于固定的定義整個(gè)列表。

一個(gè)常見(jiàn)的動(dòng)態(tài)利用列表的方法是定義一個(gè)空的列表,動(dòng)態(tài)的添加元素。例如:構(gòu)建一個(gè)網(wǎng)站,網(wǎng)站的用戶可以用列表來(lái)定義,開(kāi)始一個(gè)空列表,隨著用戶數(shù)的增加,不斷擴(kuò)大列表。

下面是一個(gè)動(dòng)態(tài)擴(kuò)展列表的簡(jiǎn)單例子:

# Create an empty list to hold our users.

usernames = []

# Add some users.

usernames.append('bernice')

usernames.append('cody')

usernames.append('aaron')

# Greet all of our users.

for username in usernames:

print("Welcome, " + username.title() + '!')

如果我們不打亂列表的順序,可以用列表找出最新和最老的用戶。

# Create an empty list to hold our users.

usernames = []

# Add some users.

usernames.append('bernice')

usernames.append('cody')

usernames.append('aaron')

# Greet all of our users.

for username in usernames:

print("Welcome, " + username.title() + '!')

# Recognize our first user, and welcome our newest user.

print("\nThank you for being our very first user, " + usernames[0].title() + '!')

print("And a warm welcome to our newest user, " + usernames[-1].title() + '!')

列表排序

可以按照字母序排序,或者相反的方向。

students = ['bernice', 'aaron', 'cody']

# Put students in alphabetical order.

students.sort()

# Display the list in its current order.

print("Our students are currently in alphabetical order.")

for student in students:

print(student.title())

#Put students in reverse alphabetical order.

students.sort(reverse=True)

# Display the list in its current order.

print("\nOur students are now in reverse alphabetical order.")

for student in students:

print(student.title())

sorted() vs?sort()

sort()?函數(shù)排序過(guò)后,原列表已經(jīng)發(fā)生了變化。如果想保留原列表,生成一個(gè)新的列表,可以使用?sorted()?函數(shù)。

students = ['bernice', 'aaron', 'cody']

# Display students in alphabetical order, but keep the original order.

print("Here is the list in alphabetical order:")

for student in sorted(students):

print(student.title())

# Display students in reverse alphabetical order, but keep the original order.

print("\nHere is the list in reverse alphabetical order:")

for student in sorted(students, reverse=True):

print(student.title())

print("\nHere is the list in its original order:")

# Show that the list is still in its original order.

for student in students:

print(student.title())

反轉(zhuǎn)列表

我們已經(jīng)知道一個(gè)列表有三種可能的順序:

初始順序

字母序

反轉(zhuǎn)的字母順序

還有一種順序,就是反轉(zhuǎn)的初始順序。reverse()?函數(shù)實(shí)現(xiàn)了這一功能。

students = ['bernice', 'aaron', 'cody']

students.reverse()

print(students)

排序數(shù)值列表

所有的排序函數(shù)對(duì)數(shù)值列表同樣適用。

numbers = [1, 3, 4, 2]

# sort() puts numbers in increasing order.

numbers.sort()

print(numbers)

# sort(reverse=True) puts numbers in decreasing order.

numbers.sort(reverse=True)

print(numbers)

numbers = [1, 3, 4, 2]

# sorted() preserves the original order of the list:

print(sorted(numbers))

print(numbers)

numbers = [1, 3, 4, 2]

# The reverse() function also works for numerical lists.

numbers.reverse()

print(numbers)

列表長(zhǎng)度

len()?函數(shù)用來(lái)獲取列表長(zhǎng)度。

usernames = ['bernice', 'cody', 'aaron']

user_count = len(usernames)

print(user_count)

注意:函數(shù)返回值為整型,不能被以字符串的形式打印。

動(dòng)手試一試

Working List

創(chuàng)建一個(gè)列表包含四種職業(yè),例如 ’programmer‘ 和 'truck driver'。

使用?list.index()?函數(shù)找到指定職業(yè)的索引。

使用?in()?函數(shù)顯示某一職業(yè)在列表中。

使用?append()?添加新的職業(yè)。

使用?insert()?函數(shù)在列表頭部添加一個(gè)新的職業(yè)。

使用循環(huán)顯示所有的元素

Starting From Empty

創(chuàng)建一個(gè)空列表,使用?append()?函數(shù)添加元素,生成一個(gè)和上述工作列表相同的列表。

打印一條語(yǔ)句告訴我們你的第一個(gè)職業(yè)是什么。

打印一條語(yǔ)句告訴我們你的最后一個(gè)職業(yè)是什么。

Ordered Working List

從你創(chuàng)建的工作列表開(kāi)始。

打印不同順序的工作列表。

每一次打印列表,使用循環(huán)語(yǔ)句。

Ordered Numbers

隨機(jī)創(chuàng)建一個(gè)包含5個(gè)數(shù)字的列表。

按照不同的順序打印列表。

使用循環(huán)語(yǔ)句打印列表。

List Lengths

打印上述列表的長(zhǎng)度

# Working List

# put your code here

# Starting From Empty

# put your code here

# Ordered Working List

# put your code here

# Ordered Numbers

# put your code here

# List Lengths

# 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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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