列表

序列是Python中基本数据结构。序列中每个元素都分配到一个数字(它的位置或索引值)第一位索引值是0,第二位是1,以此类推。

Python有6个序列的内置类型,
但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

list1 = [ ' Google ' , ' Runoob ' , 1997 , 2000 ] ;
list2 = [ 1 , 2 , 3 , 4 , 5 ] ;
list3 = [ " a " , " b " , " c " , " d " ] ;

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。


创建列表

方法:

                    x =[ ]        #此赋值x为列表,列表可容纳不限类型的各种对象,包括在列表中添加列表对象。

访问列表中的对象

方法:

                    x.index(obj)        #查找x列表内obj的索引值 

                    x.[index]        #访问x列表内index(索引值)位置的对象

                    x.[start,stop,step]        #start至stop可选取查找范围,step为步长

添加元素进列表

三种方法: 

                    x.append(obj)         #向列表内添加obj至末尾

                    x.extend([obj])        #一次性像x列表添加obj的多个内容至末尾(用新列表扩展原列表)

                    x.insert(index,obj)        #像x列表内指定位置index,插入内容obj

删除,清空列表内元素 

三种方法:

                    x.remove(obj)        #移除x列表内的obj的第一个对象

                    x.pop(obj)        #提取x列表内obj的对象并返回该对象,故可直接赋值提取内容 a=x.pop(1)。obj为空默认提取x列表末位

                    del x[index]        #删除x列表内index位置的对象,也可直接删除x列表  del x

清空方法:

                    x.clear()        #清空x列表内容,此时x以空列表形式存在。

列表分片(切片,截取)slice

方法:

                    x[start:stop:step]        #获得x列表从start至stop之间的对象,但不包含stop位的对象,step为获取对象内的步长。start为空从索引值0开始,stop为空截取至列表末位,-step为反向获取列表内的对象,获得列表内容不影响原列表内的对象

更新,嵌套列表

方法:

                    #可直接赋值列表index位置的对象进行覆盖 

                    如需改变列表x["a",["a","b"],"c",["d","e"],"f"]内b的对象为z,可如下操作x[1][1] = "z" 来覆盖,z也可以是列表 

排序列表

方法:

                    x.reverse()        #将列表内容反转,将最后一个对象变为第一个对象

                    x.sort()        #()为空则默认内容为(reverse=False),正序排列列表内容,倒序用x.sort(reverse=True)实现

列表推导式

                    列表推导式(List comprehensions)也叫列表解析,灵感取自函数式编程语言 Haskell。Ta 是一个非常有用和灵活的工具,可以用来动态的创建列表,   [ i*i for i in range(10) ]  结果为 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 

                    例如  >>> list1 = [x**2 for x in range(10)] 

                              >>> list1

                              >>> [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 


                    相当于  list1 = [ ] 

                                  for x in range(10): 

                                      list1.append(x**2)  


Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
['Hi!'] * 4['Hi!', 'Hi!', 'Hi!', 'Hi!']重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ")1 2 3迭代

Python列表函数&方法

Python包含以下函数:

序号函数
1len(list)         列表元素个数
2max(list)         返回列表元素最大值
3min(list)         返回列表元素最小值
4list(seq)         将元组转换为列表

Python包含以下方法:

序号方法
1list.append(obj)         在列表末尾添加新的对象
2list.count(obj)         统计某个元素在列表中出现的次数
3list.extend(seq)         在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj)         从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj)         将对象插入列表
6list.pop(obj=list[-1])         移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj)         移除列表中某个值的第一个匹配项
8list.reverse()         反向列表中元素
9list.sort([func])         对原列表进行排序
10list.clear()         清空列表
11list.copy()         复制列表