列表
列表由一系列按特定顺序排列的元素组成。可以将任何东西加入列表中,其中的元素之间可以没有任何关系。列表中通常包含多个元素,因此给列表命名可以有代表含义。
如:a = [‘trek’,‘cannondale’,‘redline’,‘specialized’]
访问列表元素
列表是有序的集合,只需要将元素的索引告诉Python即可访问对应位置上的元素。要访问列表元素,可指出列表名,再指出元素的索引,并将后者放入方括号内。如:
代码:
a = ['trek','cannondale','redline','specialized']
print(a[0])
结果:
注
在Python中,第一个列表元素的索引是0,而不是1,大多数编程语言也是如此。
Python为访问最后一个列表元素提供了一种特殊语法,,通过将索引号指定为-1,可以让Python访问最后一个元素。同理,索引号为-2则访问倒数第二个列表元素。
你可以像使用其他变量一样使用列表中的各个元素。
修改列表元素
要修改列表元素,可指定列表名和要修改的元素索引,在指定该元素的新值。
如:
代码:
a = ['zhangsan','lisi','wangwu']
print(a[1])
a[1] = 'sunqi'
print(a[1])
结果:
在列表中添加元素
(1)在列表末尾添加元素
采用附加的方法append()即可在列表末尾添加元素。
如:
代码:
a = ['zhangsan','lisi']
a.append('wangwu')
print(a)
结果:
注
方法append()让动态地创建列表易如反掌,例如,可先创建一个空列表,在使用一系列方法append()来添加元素。
(2)在列表中插入元素
使用方法insert()可在列表的任何位置添加新元素,需要为新元素指定索引和值。
如:
代码:
a = ['zhangsan','lisi','wangwu']
print(a)
a.insert(0,'tanger')
print(a)
结果:
注
a.insert(0,‘tanger’) 表示在列表a的索引为0的位置插入元素‘tanger’
从列表中删除元素
(1)使用del语句删除元素(永久删除)
如果知道要删除元素的位置,可使用del语句删除。
如:
代码:
a = ['zhangsan','lisi','wangwu']
print(a)
del a[0]
print(a)
结果:
注
del 可以删除任意位置的列表元素,前提是知道元素的索引。
(2)使用方法pop()删除元素()
方法pop()可以弹出任何位置元素,将索引号填入括号,如果不填,则默认列表的最后一位。
如:
代码:
a = ['zhangsan','lisi','wangwu','tangliu']
a_poped = a.pop()
print(a_poped)
print(a)
结果:
注
pop()可以弹出任何位置的元素,不填则默认弹出最后一个元素。
pop()弹出的元素可以拿来使用,需要用一个变量去接收。
如何判断该使用del还是pop()
如果要从列表中删除一个元素,且不会以任何方式去使用它,就使用del语句;如果在删除元素后还要继续使用该元素,则使用方法pop()。
根据值删除元素
若不知到要删除元素的位置,只知道要删除元素的值,则可使用方法remove()。
如:
代码:
a = ['zhangsan','lisi','wangwu','tangliu']
a.remove('lisi')
print(a)
结果:
注
remove()只能删除第一个指定的元素,如果有多个元素,则需要采用循环来确保每个值都被删除。
使用方法sort()对列表永久排序
使用方法sort()可以对列表进行永久排序。
如:
代码:
a = ['der','zer','ber','car']
a.sort()
print(a)
结果:
sort(reverse = true):则是按ASCII码从大到小的顺序排列
使用函数sorted()对列表临时排序
函数sorted()并不会改变原列表的顺序,而是生产一个新的列表,可以用一个新的变量进行接收,或者直接打印输出都可以。
如:
代码:
a = ['zer','ber','der','car']
print(sorted(a))
print(a)
结果:
倒着打印列表
使用方法reverse()是反转原列表的顺序,并不会按大小或者小大顺序排列,会永久改变原列表的顺序,但只需要再次使用一次方法reverse()即可恢复原来的排列顺序。
如:
代码:
a = ['zhangsan','lisi','wangwu','tangliu']
a.reverse()
print(a)
a.reverse()
print(a)
结果:
确定列表的长度
使用函数len()可快速获取列表的长度。
如:
代码:
a = ['zhangsan','lisi','wangwu','tangliu']
print(len(a))
结果:
遍历整个列表
下面介绍用for循环,遍历列表中的每个元素。
如:
代码:
bs = ['zhangsan','lisi','wangwu','tangliu']
for b in bs:
print(b)
结果:
注
for循环的使用格式:for 变量 in 列表名:
在循环中的语句一定是在for语句的缩进后的。
不要遗忘for语句后面的冒号。
创建数值列表
函数range(2,6):表示生成从2开始,默认步长为1,最后不超过6的数列。
range(2,6,2):表示生成一个以2开始,步长为2,最后不超过6的数列。
如:
代码:
for a in range(2,6):
print(a)
结果:
使用range()创建数字列表。
如:
代码:
bs = list(range(1,6))
print(bs)
结果:
对数字列表执行简单的统计计算
min(a):计算列表a里面的最小值
max(a):计算列表a里面的最大值
sum(a):计算列表a所以元素的和
列表切片
创建列表切片,需要指定要使用的第一个元素和最后一个元素的索引。与range函数一样,python在到达第二个索引之前的元素后停止。
如:
代码:
a = [1,2,3,4,5,6]
print(a[1:5])
结果:
注:切片的前后索引中间用冒号隔开
for循环可以遍历切片
如:
代码:
bs = ['zhangsan','lisi','wangwu','tangliu']
for b in bs[:3]:
print(b)
结果:
复制列表
我们可以通过创建一个包含所有元素的切片,即复制了原列表。
如:
代码:
bs = ['zhangsan','lisi','wangwu','tangliu']
cs = bs[:]
print(bs)
print(cs)
结果: