Python 学习笔记(八)Python列表(三)
序列
序列:数学上,序列是被排成一列的对象(或事件);这样,每个元素不是在器他元素之前,就是在其他元素之后。这里元素之间的顺序非常重要。《维基百科》
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表和字符串的比较
1、列表可修改,字符串不可修改
2、字符串和列表都是序列
3、列表可原地修改
4、列表有多维列表,而字符串没有
5、字符串是不可改变的,列表可进行原地修改
1 >>> a=[1,2,3] 2 >>> id(a) 3 46281096L 4 >>> a.append(4) #追加一个元素,如果没有返回值,这就是原地修改的一种外在表现 5 >>> a 6 [1, 2, 3, 4] 7 >>> id(a) #追加之后,列表在内存中的位置并没有改变 8 46281096L 9 >>> a[1]=9 #列表也可以这样修改,将索引位置为1的元素修改为9,列表可修改的特性 10 >>> a 11 [1, 9, 3, 4] 12 >>> b="python" 13 >>> b[1]="w" #用在字符串当中报错,字符串不支持修改 14 Traceback (most recent call last): 15 File "<stdin>", line 1, in <module> 16 TypeError: 'str' object does not support item assignment23 >>> b[0]+"w"+b[2:] #如果某种业务需要字符串修改,可以这样,但这种修改其实是又生成了一个字符串,而原来字符串并没有发生变化 24 'pwthon' 25 >>> b #实际b字符串并没有发生变化 26 'python' 27 >>> a 28 [1, 9, 3, 4] #一维列表 29 >>> m =[[1,2,3],[4,5,6],[7,8,9]] #多维列表 30 >>> m[1] 31 [4, 5, 6] 32 >>> m[1][0] 33 4 34 >>>
list() 与str() 列表与字符串之间的转化
1 >>> b="python" 2 >>> b 3 'python' 4 >>> list(b) #字符串转换为列表 5 ['p', 'y', 't', 'h', 'o', 'n'] 6 >>> a ="www.baidu.com" 7 >>> a.split(".") #字符串使用分隔符点号.分割成列表 8 ['www', 'baidu', 'com'] 9 >>> c =list(b) 10 >>> c 11 ['p', 'y', 't', 'h', 'o', 'n'] 12 >>> "".join(c) #再用join函数将列表c用空连接起来,转换为字符串 13 'python' 14 >>> "-".join(c) #用join函数将列表c用减号连接起来 15 'p-y-t-h-o-n'