python序列-列表
列表-LIST
python中的列表是有一系列按特定顺序排列的元素组成,列表是属于python内置的可变序列。语法上列表的元素都是放在一对中括号‘[]’ 中,两个相邻的元素之间使用逗号‘,’ 分隔,数据上可以将整数、实数、浮点数、字符串、列表、元组等任何数据类型放置在列表中,并且同一个列表中,元素的类型可以不同。
创建列表
创建列表时可以使用赋值运算符‘=’ 直接将一个列表赋值给一个变量,语法格式如下:
listname = [element1, element2, element3, ...elementN]
# listname : 表示列表的名称
# element : 表示列表中的元素,个数无限制
# 补充:如果想要创建一个空列表是可以直接使用 listname = []
删除列表
已创建的列表如不在使用时可以使用del 语句将其删除。语法格式如下:
del listname
# listname : 表示列表的名称
del 语句实际的开发中并不会常用,因为python自带的垃圾回收机制会自动销毁不用的列表。
遍历列表
1、使用for 循环实现
2、使用for 循环和enumerate() 函数实现
添加列表元素
列表添加元素可以通过列表对象append() 方法实现,该方法用于在列表的末尾追加元素。
如果还想将一个列表的全部元素添加在另一个列表中,可以使用列表对象extend() 方法实现。
修改列表元素
修改列表中的元素只需要通过索引获取到该元素,然后对其重新赋值即可。
删除列表元素
删除元素的方法有两种,一种是根据索引删除,一种是根据元素值删除。
1、根据索引删除元素
2、根据元素值删除元素
注意:根据元素值删除元素时最好需要判断下元素是否存在列表中,不然要删除的元素值不存在列表中会报值错误并提示该元素不存在列表中!
获取指定元素出现的次数
使用列表对象的count() 方法可以获取指定元素在列表中出现的次数。
获取指定元素首次出现的下标(索引)
使用列表对象的index() 方法可以获取指定元素在列表中首次出现的位置(索引/ 下标)。
统计数值列表的元素和
python中提供了sum() 函数用于统计数值列表中各元素的和,该方法主要针对于数值列表。
对列表进行排序
在实际操作中,经常需要对列表进行排序。python中提供了两种常用的对列表进行排序的方法。使用列表对象的sor() 方法与内置函数sorted() 函数。
1、使用列表对象的sort() 方法
列表对象sort() 方法用于对列表中的元素经行排序,排序后的列表中的元素的顺序将发生改变。sort() 方法的语法格式:
listName.sort(key=None, reverse=False) # listName : 表示要进行排序的列表 # key : 用于指定排序规则,例如设置key=str.lower 表示在排序时不区分字母大小写;不指定参数时表示对其排序时采用的规则是先对大写字母排序,后对小写字母排序。
# reverse : 可选参数,如果将其值指定为True,则表示降序排序;如果指定为False,则表示升序排序,默认升序排序。
使用sort() 方法对数值列表排序比较简单,但是对字符串列表对其排序时采用的规则是先对大写字母排序,后对小写字母排序。如果想对字符串列表进行排序时不区分字母大小写可以指定其排序规则,如下:
注:该方法对列表进行排序时,对中文支持不友好,不能采用该方法对其排序。如需要对其含有中文元素的列表对其排序,需要重新编写相对应的方法对其进行排序。
2、使用内置的sorted() 函数实现
python中提供了一个内置函数sorted() 用于对列表进行排序。使用该函数进行排序后,原列表元素位置不变,会产生一个新的列表。sorted() 函数的语法格式:
sorted(listName, key=None, reverse=False) # listName : 表示要进行排序的列表
# key : 用于指定排序规则,例如设置key=str.lower 表示在排序时不区分字母大小写;不指定参数时表示对其排序时采用的规则是先对大写字母排序,后对小写字母排序。
# reverse : 可选参数,如果将其值指定为True,则表示降序排序;如果指定为False,则表示升序排序,默认升序排序。
例如:
列表对象sort() 方法和python内置函数sorted() 的作用基本相同,不同点是在使用sort() 方法时会改变原列表的元素的排列顺序,而使用sorted() 函数时不会改变原列表的元素排序顺序,而是建立一个原列表的副本,该副本为原列表排序后的列表。
列表推导式
使用列表推导式可以快速生成一个列表,或则根据某个列表生成满足指定需求的列表。列表推导式通常有如下几种常用的场景。
1、生成指定范围的数值列表,语法格式如下:
listName = [Expression for var in rang] # listName : 表示要生成的列表名称
# Expression : 表达式,用于计算新列表的元素
# var : 循环变量
# range : 采用range()函数生成range对象
例如:要生成一个15个随机数的列表,要求其数值范围在100~200之间。
2、根据列表生成指定需求的列表,语法格式如下:
newList = [Expression for var in listName]
# newList : 表示新生成的列表名称
# Expression : 表达式,用于计算新列表的元素
# var : 变量,值为后面列表的每个元素
# listName : 表示要用于生成新列表的原列表
例如:将一组数值列表,全部元素放大十倍。
3、从列表中选择符合条件的元素组成新的列表,语法格式如下:
newList = [Expression for var in listName if condition]
# newList : 表示新生成的列表名称
# Expression : 表达式,用于计算新列表的元素
# var : 变量,值为后面列表的每个元素
# listName : 表示要用于生成新列表的原列表
# condition : 条件表达式,用于指定筛选条件
例:从一个数值列表中筛选出大于一个标准条件的新列表。