操作列表

上周我们学习了列表的创建以及很多操作列表元素的方法,在这周你将学习如何遍历列表,如何用更加高效的方法来操作列表。

1.遍历列表
使用for循环来遍历列表:

names = ['jm','bob','tom']
for name in names:
	print (name)

jm
bob
tom

这里简单的使用一下for循环来遍历列表,想这种循环,以及判断这些基本的操作是每种语言都要求熟练掌握的。变量命名最好采用复数和单数结合的形式,这样能够理解处理的是列表还是元素。
注意for循环后面的语句结尾有 " : "这个冒号,以及for循环里面的语句需要以tab键开头,严格要求程序的工整对齐,这个和python创始人性格有关估计。

2.创建数字列表

2.1使用函数range()
函数range()能够生成一系列的数字。

for value in range(1,5):
	print (value)
1
2
3
4

注意这里从1开始到5就停止了,5是不算的,和很多编程语言相似。

2.2使用range()创建列表
可以用list()函数把range()函数创建的值转换为列表。

numbers = list(range(1,5))
print (numbers)

[1,2,3,4]

使用range()函数还能指定步长。

numbers = list(range(2,11,2))
print (numbers)
[2,4,6,8,10]

2.3对数字列表进行简单的计算
有几个专门用于处理列表的函数。

nums = [1,2,3,4]
min (nums)
1
max (nums)
4
sum (nums)
10

2.4列表解析
列表解析将for循环和创建新元素的代码合并为一行,并且自动附加新元素。

squares = [value**2 for value in range(1,11)]
print (squares)

使用这种语法,先要一个列表名,然后一个方括号,再来一个表到式,用于生成列表的值,最后来一个for循环提供表达式需要的值,以方括号结尾。

3.使用列表的一部分
使用列表的一部分,在python中叫切片。

names = ['jm','bob','tom']
print (names[0:2])
 ['jm','bob','tom']
print (names[1:2])
 ['bob','tom']
print (names[:2])
 ['jm','bob','tom']
print (names[1:])
 ['bob','tom']

上面简单使用了一些切片方式,都是比较好理解的。

3.1遍历切片
遍历列表的部分元素,可以在for循环中使用切片。

names = ['jm','bob','tom']
for name in names[:2]:
	print (name)
jm
bob
tom

3.2复制列表
复制列表的简单方法,创建一个[:]这样的切片就可以了

names = ['jm','bob','tom']
friend_names = names[:]

3.3元组
列表用于存储在程序运行期间可能变化的数据集合,列表是可以修改的。python定义一种不可修改的列表,这种列表叫元组。

nums = (1,3,5)

虽然不能修改列表的元素,但是可以给存储元组的变量赋值。

nums = (1,3,5)
nums = (2,4,6)

这样就可以改变元组的值了,就是给变量重新赋值,不支持部分修改。