列表:
本章索引和内容
1.列表和索引
2.修改列表
3.与列表相关的内置函数
4.处理列表项
5.切片
6.列名机制
7.列表方法
8.嵌套列表
9.其他类型的序列
10.把文件看做列表
11.注释
12.小结
13.习题
列表:
列表是以Python的一种数据类型,用来处理一组组的数据,也可以利用列表访问数据。
列表和索引:
1.1 列表的创建:
将一组逗号分隔的值放在一对方括号中,
列表也是一个对象,可以将它赋值给一个变量
例如:
whales = [5,2,6,7,84,5,78,32]
print(whales)
[5,2,6,7,84,5,78,32]
1.2 如何取得表中的数据
1>利用索引
whales[1]
whales[2]
顺序索引和逆序索引
顺序索引:从列表的左面开始,索引值0开始,
逆序索引:从列表的右端以-1开始,向左端靠
1.3 空列表
空列表没有任何元素,写作[],试图对空列表索引会引发错误
合法索引的定义:
1.对于一个拥有N个元素的列表,器合法索引为集合{i:0<=i<N}}中的整数
2.空列表的长度为0
3.因此,空列表的合法索引为集合{i:0<=i<-1}中的元素
4.由于该集合为空,所以空列表没有合法的索引
1.4 列表是异构的
列表可以含有任意类型的数据,包括整数,字符串,甚至别的列表
使用列表来聚合相关是比较容易出错的,更高级的用法在后面将会提及
4.列表项管的内置函数:
len(L)
max(L)
sum(L)
min(L)
列表的拼接:
list = [‘sds‘,‘sdsds‘,‘rtrt‘,‘rtr‘]
list1 = [‘erer‘]
list2 = list + list1 #不会修改原始列表,只是创建了一个新的列表而已
列表重复:
list2 = list * 3
5.列表的处理
是通过循环迭代方式处理的
6.嵌套循环:
def print_table():
numbers = [1,2,3,4,5]
for i in numbers:
print(‘\t‘ + str(i),end=‘ ‘)
print()
for i in numbers:
print(i,end=‘ ‘)
for j in numbers:
print(‘\t‘ + str(i * j), end=‘ ‘)
print(‘‘)
print_table()
7.列表方法:
列表是对象就有自己的方法。
L.append(v)
L.insert(i,v)
L.remove(v)
L.reverse()
L.sort()
L.pop()
8.嵌套列表:
列表是可以含有任何类型的数据,也就是说列表是可以含有列表
life = [[‘Canada‘,78.5],[‘United States‘,75.5],[‘Mexico‘,72.0]]
life[0]
life[1]
life[2]
life[0][1]等
修改:
canada=life[1]
canada[1] = 80
canada,life 列表都进行了修改
9.其他类型的序列:
字符串:是一个不可变的字符串序列,是可以被索引,而且还可以切片以创建字符串
元祖:tuple也是一种不可变序列类型,使用的是圆括号,与字符串和列表一样,可以被索引,切片和迭代
注意的是:()d代表空元祖,但是带有一个元素的元祖不是写作(x),而是(x,),
元祖在创建之后就不能被修改了,
元祖在创建之后,其所包含的引用就不能修改了,而这些引用所指向的对象本身则任然是可以修改的
10.把文件看做列表
大部分的数据都是以文件的形式存储的,而文件其实就是一堆有序的字节序列,这些字节可能代表的是
字符,像素或是邮政编码,关键的是他们是以一种特殊的顺序排列的,意味着列表是处理文件的常用手段,
file = open("data.txt","r")
open函数的第一个参数是一个字符串,它含有需要打开的文件的名称,第二个参数用于指定一个模式,共有:
"r" 表示读取
"w" 表示写入
"a" 表示追加
open的执行结果并不是文件的内容,其实函数返回的是一个文件对象,该对象拥有访问文件内容所需的方法。
最重要的方法是:
read,一次读取文件的所有内容
readline:一次读取一行
12 小结:
我们在本章中学习了一下内容:
1.列表可以用来存储零个或多个对象,列表中的那些对象称它为它的元素,通过表示位置的索引即可访问这些元素,索引的范围为0到比列表长度小1的数值
2.列表是可变的,也就是说其内容是可以修改的,列表可以含有任何类型的数据,也包含其他的列表。
3.切片,可以在原始列表的基础上创建出新的列表,新列表可以含有跟原始列表一样的值,也可以只有原始列表的一部分。
4.当两个变量都引用了同一个对象时,我们就称他们互为别名
5.元祖是python中的另一种序列,元祖跟列表类似,只不过它是不可变的
6.打开并读取文件之后,其文件通常都存储在一个字符串列表中。