chapter 3 列表简介
1.列表定义
family=["father","mother","son"]
print(family)
[‘father’, ‘mother’, ‘son’]
2.访问列表元素
#访问列元素,索引从0开始
print(family[0])
father
#访问末尾元素
print(family[-1])
son
#使用列表中的值
message="My "+family[0]+" is a great person"
print(message)
My father is a great person
#练习
names=["Huang","Zhou","Zou"]
message1=names[0]+' and '+names[-1]+' are my roomates.'
message2=names[1]+' is my bestfriend.'
print(message1)
print(message2)
Huang and Zou are my roomates.
Zhou is my bestfriend.
3.修改、添加和删除元素
3.1修改元素
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles[0]='ducati'
print(motorcycles)
[‘honda’, ‘yamaha’, ‘suzuki’]
[‘ducati’, ‘yamaha’, ‘suzuki’]
3.2 添加元素
3.2.1在列表末尾添加
motorcycles.append('honda')
print(motorcycles)
[‘ducati’, ‘yamaha’, ‘suzuki’, ‘honda’]
numbers=[]
numbers.append(0)
numbers.append(1)
numbers.append(2)
print(numbers)
[0, 1, 2]
3.2.2在列表中插入元素
motorcycles.insert(1,'bulgati')
print(motorcycles)
[‘ducati’, ‘bulgati’, ‘yamaha’, ‘suzuki’, ‘honda’]
3.3 删除列表元素
3.3.1 使用del语句删除元素
print(motorcycles)
del motorcycles[0]
print(motorcycles)
[‘ducati’, ‘bulgati’, ‘yamaha’, ‘suzuki’, ‘honda’]
[‘bulgati’, ‘yamaha’, ‘suzuki’, ‘honda’]
3.3.2 使用方法pop()删除元素
#pop()可删除列表末尾的元素,并接着使用它,即弹出栈顶元素
print(motorcycles)
popped_motorcycle=motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
[‘bulgati’, ‘yamaha’, ‘suzuki’, ‘honda’]
[‘bulgati’, ‘yamaha’, ‘suzuki’]
honda
3.3.3 弹出任意位置的元素
#pop()括号里指定要删除的元素即可弹出任意位置元素
print(motorcycles)
first_owned=motorcycles.pop(0)
print(first_owned)
[‘bulgati’, ‘yamaha’, ‘suzuki’]
bulgati
3.3.4 根据元素的值删除元素remove()
motorcycles=['ducati','honda','suzuki']
print(motorcycles)
expensive='suzuki'
motorcycles.remove(expensive)
print(motorcycles)
print("\nA "+expensive.title()+" is expensive for me.")
[‘ducati’, ‘honda’, ‘suzuki’]
[‘ducati’, ‘honda’]
A Suzuki is expensive for me.
# 练习修改名单
celebrities=['Justin Bieber','Lebron James','Mark Zackberg','Sheldon']
print(celebrities)
cant_come='Lebron James'
print(cant_come+" can't come.")
celebrities[1]='Steve Jobs'
print(celebrities)
celebrities.insert(0,"Kobe Bryant")
celebrities.insert(2,"Adam Hughs")
celebrities.append('Dereck Rose')
print(celebrities)
sorry=celebrities.pop()
print(sorry+" sorry that you can't come.")
del celebrities[0]
print(celebrities)
[‘Justin Bieber’, ‘Lebron James’, ‘Mark Zackberg’, ‘Sheldon’]
Lebron James can’t come.
[‘Justin Bieber’, ‘Steve Jobs’, ‘Mark Zackberg’, ‘Sheldon’]
[‘Kobe Bryant’, ‘Justin Bieber’, ‘Adam Hughs’, ‘Steve Jobs’, ‘Mark Zackberg’, ‘Sheldon’, ‘Dereck Rose’]
Dereck Rose sorry that you can’t come.
[‘Justin Bieber’, ‘Adam Hughs’, ‘Steve Jobs’, ‘Mark Zackberg’, ‘Sheldon’]
4. 组织列表
4.1 使用sort()对列表永久性排序
cars=['bmw','aodi','toyota','subaru']
cars.sort() #正排
print(cars)
cars.sort(reverse=True) #反排
print(cars)
[‘aodi’, ‘bmw’, ‘subaru’, ‘toyota’]
[‘toyota’, ‘subaru’, ‘bmw’, ‘aodi’]
4.2使用函数sorted()对列表临时排序
cars=['bmw','aodi','toyota','subaru']
print("Here is the original list:")
print(cars)
print("\nHere is the sorted list:")
print(sorted(cars,reverse=True))
print("\nHere is the original list again:")
print(cars)
Here is the original list:
[‘bmw’, ‘aodi’, ‘toyota’, ‘subaru’]
Here is the sorted list:
[‘toyota’, ‘subaru’, ‘bmw’, ‘aodi’]
Here is the original list again:
[‘bmw’, ‘aodi’, ‘toyota’, ‘subaru’]
4.3反转列表reverse()
cars=['bmw','aodi','toyota','subaru']
print(cars)
cars.reverse()
print(cars)
[‘bmw’, ‘aodi’, ‘toyota’, ‘subaru’]
[‘subaru’, ‘toyota’, ‘aodi’, ‘bmw’]
4.4确定列表长度len()
cars=['bmw','aodi','toyota','subaru']
len(cars)
4