1、列表是什么
列表是由一系列特定顺序排列的元素组成,在Python中用方括号来表示列表,用逗号来分隔元素。
1.1访问列表元素
使用索引来访问元素。
bicycles = ['trek','cannondale','redline','specialized']
print(bicycles[0])
1.2索引从0开始
和其他语言一样,列表都是从0开始。
Python提供了一个索引值是 -1 ,是返回列表最后一个元素。
2、修改、添加和删除元素
2.1修改列表元素
指定列表明和要修改的元素索引,再指定该元素新的值。
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
#第一个位置的值被指定为新的值,起到了修改的作用
2.2在列表中添加元素
①在列表末尾添加元素
append()方法,在末尾添加元素。
②在列表中插入元素
insert()方法,在列表任意位置添加新元素,需要指定索引和值。
变量.insert(索引值,新元素)
2.3从列表中删除元素
在列表中删除一个或者多个元素。
①使用del语句删除元素
如果知道要删除的元素在列表中的位置,可使用del语句。
motorcycles = ['honda','yamaha','suzuki']
print(motorcycles)
#删除了第一个元素
del motorcycles[0]
print(motorcycles)
②使用pop()方法删除元素
从列表中删除元素,并且继续使用这个值,使用pop()方法。
pop()是弹出列表末尾的元素。
motorcycles = ['honda','yamaha','suzuki']
poped_motorcyles = motorcycles.pop()
print(motorcycles)
print(poped_motorcyles)
输出结果是:
['honda','yamaha']
suzuki
③弹出任意位置的元素
同样使用pop()方法来弹出任意位置的元素,需要在括号中添加指定索引。
motorcycles = ['honda','yamaha','suzuki']
first_owned = motorcycles.pop(0)
print(motorcycles)
print('The first motorcycle I owned was a ' + first_owned.title() + '.')
#弹出第一个位置的值
输出结果为:
['yamaha','suzuki']
The first motorcycle I owned was a Honda.
注意:如果不确定应该使用del还是pop()的情况下,判断标准是,如果要从列表中删除一个元素,并且不再以任何方式使用它,就是用del语句;如果在删除元素后还继续使用它,就使用pop()方法。
④根据值删除元素
不知道要删除的元素在列表的位置,但是知道元素的值,可以使用remove()。
motorcycles = ['honda','yamaha','suzuki','ducati']
too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print('\nA ' + too_expensive.title() + ' is too expensive for me.')
输出的结果为:
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me.
注意:remove()方法只能删除第一个指定的值,如果要删除的值在列表中多次出现,需要用循环语句来删除所有值。
3、组织列表
列表中元素的排序是无法预测的,需要调整排列顺序的的话,就用到下面的方法
3.1使用方法sort()方法对列表进行永久性排序
按照字母顺序排序sort()
按照字母顺序相反的排序sort(reverse=True)
cars =['bmw','audi','toyota','subaru']
print(cars)
cars.sort()
print(cars)
cars.sort(reverse=True)
print(str(cars).title())
输出:
['bmw', 'audi', 'toyota', 'subaru']
['audi', 'bmw', 'subaru', 'toyota']
['Toyota', 'Subaru', 'Bmw', 'Audi']
3.2调用函数sorted()对列表进行临时排序
按照字母顺序排序sorted()
按照字母顺序相反的排序sorted(reverse=True)
cars =['bmw','audi','toyota','subaru']
print(cars)
print(sorted(cars))
print(cars)
print(sorted(cars,reverse=True))
print(cars)
输出:
['bmw', 'audi', 'toyota', 'subaru']
['audi', 'bmw', 'subaru', 'toyota']
['bmw', 'audi', 'toyota', 'subaru']
['toyota', 'subaru', 'bmw', 'audi']
['bmw', 'audi', 'toyota', 'subaru']
3.3倒着打印列表
反转列表元素的排列顺序可以使用方法revers()。
cars =['bmw','audi','toyota','subaru']
cars.reverse()
print(cars)
输出:
['subaru', 'toyota', 'audi', 'bmw']
3.4确定列表长度
使用函数len()可以快速获得列表长度,Python计算列表长度是从1开始算,有几个元素,长度就是几。
cars =['bmw','audi','toyota','subaru']
length = len(cars)
print(length)
输出:
4
3.5使用列表避免索引错误
索引-1总是返回最后一个列表元素,所以不论列表内容如何变化,索引-1都是最后一个元素。(列表不包括任何元素的时候会报错)