这周看的最认真的就是列表这章了。
3.1列表是什么
列表由一系列按特定顺序排列的元素组成。
你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。
在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。
要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。例如:
bicycles = ['trek', 'cannondale', 'redline','specialized']
print(bicycles[0])
列表索引从0而不是1开始
可使用方法title() 让元素'trek' 的格式更整洁:
print(bicycles[0].title())
这样输出的首字母是大写的
3.2修改、 添加和删除元素
给定列表
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
3.2.1修改列表元素
可指定列表名和要修改的元素的索引, 再指定该元素的新值。
motorcycles[0] = 'ducati'
print(motorcycles)
3.2.2在列表中添加元素
1、末尾添加
motorcycles.append('ducati')
print(motorcycles)
2、在列表中插入元素
motorcycles.insert(0, 'ducati')
print(motorcycles)
3.2.3从列表中删除元素
1、如果知道要删除的元素在列表中的位置, 可使用del 语句
del motorcycles[0]
print(motorcycles)
2. 使用方法pop() 删除元素
方法pop() 可删除列表末尾的元素, 并让你能够接着使用它。 术语弹出 (pop) 源自这样的类比: 列表就像一个栈, 而删除列表末尾的元素相当于弹出栈顶元素。
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
3. 弹出列表中任何位置处的元素
你可以使用pop() 来删除列表中任何位置的元素, 只需在括号中指定要删除的元素的索引即可。
first_owned = motorcycles.pop(0)
print('The first motorcycle I owned was a ' + first_owned.title() + '.')
4. 根据值删除元素
你不知道要从列表中删除的值所处的位置。 如果你只知道要删除的元素的值, 可使用方法remove() 。
motorcycles.remove('ducati')
print(motorcycles)
使用remove() 从列表中删除元素时, 也可接着使用它的值。 下面删除值'ducati' , 并打印一条消息, 指出要将其从列表中删除的原因:
❶ motorcycles = ['honda', 'yamaha', 'suzuki','ducati']
print(motorcycles)
❷ too_expensive = 'ducati'
❸ motorcycles.remove(too_expensive)
print(motorcycles)
❹ print("\nA " + too_expensive.title() + " is too expensive forme.")
在❶处定义列表后, 我们将值'ducati' 存储在变量too_expensive 中(见❷) 。 接下来, 我们使用这个变量来告诉Python将哪个值从列表中删除(见❸) 。 最后,值'ducati' 已经从列表中删除, 但它还存储在变量too_expensive 中(见❹) , 让我们能够打印一条消息, 指出将'ducati' 从列表motorcycles中删除的原因。
3.3 组织列表
给定列表
cars = ['bmw', 'audi', 'toyota', 'subaru']
3.3.1 使用方法sort() 对列表进行永久性排序
cars.sort()
print(cars)
这样列表就会按字母顺序排列, 再也无法恢复到原来的排列顺序。
还可以按与字母顺序相反的顺序排列列表元素, 为此, 只需向sort() 方法传递参数reverse=True 。
cars.sort(reverse=True)
print(cars)
3.3.2 使用函数sorted() 对列表进行临时排序
要保留列表元素原来的排列顺序, 同时以特定的顺序呈现它们, 可使用函数sorted() 。 函数sorted() 让你能够按特定顺序显示列表元素, 同时不影响它们在列表中的原始排列顺序。
3.3.3 倒着打印列表
要反转列表元素的排列顺序, 可使用方法reverse() 。
cars.reverse()
print(cars)
方法reverse() 永久性地修改列表元素的排列顺序, 但可随时恢复到原来的排列顺序, 为此只需对列表再次调用reverse() 即可。
3.3.4 确定列表的长度
使用函数len() 可快速获悉列表的长度。 在下面的示例中, 列表包含4个元素, 因此其长度为4:
cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)
�s�W��P