修改元素
知道元素的位置,可以更改元素的值。
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