3.1 列表简介
用方括号“[]”来表示列表,并用逗号来分隔其中的元素
>> bicycles = ['trek', 'cannondale', 'redline', 'specialized']
从列表bicycles 中提取第一款自行车:第一个列表元素的索引为0,而不是1
>> bicycles = ['trek', 'cannondale', 'redline', 'specialized']
>> ❶ print(bicycles[0])
trek
>> print(bicycles[0].title()) #可使用方法title() 让元素'trek' 的格式更整洁
Trek
特殊语法:通过将索引指定为-1 ,可让Python返回最后一个列表元素(在不知道列表长度的时候,很方便);同理,索引-2 返回倒数第二个列表元素,索引-3 返回倒数第三个列表元素,以此类推。
>> print(bicycles[-1])
specialized
3.2 修改/添加和删除元素
3.2.1 修改列表元素
直接对某一元素进行赋值就可以,可以修改任意元素
>> ❶ motorcycles = ['honda', 'yamaha', 'suzuki']
>> print(motorcycles)
>> ❷ motorcycles[0] = 'ducati' #修改第一个元素
>> print(motorcycles)
['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']
3.2.2 在列表中添加元素
1> 在列表末尾添加:append()
>> motorcycles = ['honda', 'yamaha']
>> print(motorcycles)
>> ❶ motorcycles.append('ducati')
>> print(motorcycles)
['honda', 'yamaha']
['honda', 'yamaha', 'ducati']
append() 让动态地创建列表易如反掌。
例如,你可以先创建一个空列表,再使用一系列的append() 语句添加元素。
>> motorcycles = []
>> motorcycles.append('honda')
>> motorcycles.append('yamaha')
>> print(motorcycles)
['honda', 'yamaha']
这种创建列表的方式极其常见,因为经常要等程序运行后,你才知道用户要在程序中存储哪些数据。为控制用户,可首先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的每个新值附加到列表中。
2> 列表中插入元素: insert() 可在列表的任何位置添加新元素
>> motorcycles = ['honda', 'yamaha', 'suzuki']
>> ❶ motorcycles.insert(0, 'ducati')
>> print(motorcycles)
['ducati', 'honda', 'yamaha', 'suzuki']
3.2.3 从列表中删除元素
1> del 语句
如果知道要删除的元素在列表中的位置,可使用del 语句
>> motorcycles = ['honda', 'yamaha', 'suzuki']
>> del motorcycles[0]
>> print(motorcycles)
['yamaha', 'suzuki']
使用del 可删除任何位置处的列表元素,条件是知道其索引。使用del 语句删除,无法再访问它了。
2> pop() :删除列表末尾的元素
pop() 可删除列表末尾的元素,并让你能够接着使用它。
>> motorcycles = ['honda','yamaha', 'suzuki']
>> popped_motorcycles = motorcycles .pop() ##从列表中弹出一个值(最后一个),并存储在popped_ motorcycles中
>> print(motorcycles)
>> print(popped_motorcycles)
['honda', 'yamaha'] #删除了最后一个元素
suzuki
>> last_owned = motorcycles.pop() #指出最后购买的是哪辆摩托
>> print("The last motorcycle I owned was a"+last_owned.title()+".")
The last motorcycle I owned was a Suzuki.
3> pop() :弹出列表中任何位置处的元素
>> motorcycles = ['honda', 'yamaha', 'suzuki']
>> first_owned = motorcycles.pop(0) #选择弹出第一个位置处的元素,并赋值给first_owned;且从原列表中删除该摩托
>> print('The first motorcycle I owned was a'+first_owned.title()+'.')
The first motorcycle I owned was a Honda.
这个方法可用于选择元素,弹出任意元素并从原列表中删除。
判断选择del 还是pop() :如果你要从列表中删除一个元素,且不再以任何方式使用它,使用del 语句;如果你要在删除元素后还能继续使用它,就使用pop() 。
4> remove() :根据值删除元素
不知道列表中要删除的值所处的位置: remove()
>> motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
>> motorcycles.remove('ducati') #让Python确定'ducati' 出现在列表的什么地方,并将该元素删除
>> print(motorcycles)
['honda', 'yamaha', 'suzuki']
使用remove() 从列表中删除元素时,也可接着使用它的值,方法同pop(),赋值即可
>> ❶ motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
>> ❷ too_expensive = 'ducati'
>> ❸ motorcycles.remove(too_expensive)
>> print(motorcycles)
>> ❹ print("\nA " + too_expensive.title() + " is too expensive for me.
") #这里的\n有必要吗?不放是不是也可以换行?
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me.