栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python语法基础(六)--序列之列表

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python语法基础(六)--序列之列表

目录
  • 列表
    • 创建
    • 元素访问
    • 元素修改
    • 列表遍历
    • 列表的嵌套
    • 列表复制
    • 对列表进行统计和计算
    • 列表排序
    • 列表解析表达式
    • 生成器表达式

列表

列表是由一系列按照顺序排列的元素组成的一种数据类型,其中的元素可以是相同或不同类型的数据

创建
  1. 语法格式:list_1=[ele1,ele2,ele3,....],使用赋值符直接创建列表
  2. 语法格式:list_1=[],创建一个空列表
  3. 语法格式:list_1=list(data),使用list()函数即将data转化为列表,其中data可以是range对象1、字符串、元组或其它可迭代数据
元素访问

列表元素正向索引从0开始,逆向从-1开始
索引

正向012n-1
元素元素1元素2元素3元素n
逆向-n-(n-1)-(n-2)-1

切片
取出列表部分元素

索引描述
[m,n]索引为m到索引到n-1的元素(不含n,左闭右开)
[m:]索引为m的元素到最后一个元素
[:n]第一个元素到n-1的元素(不含n,左闭右开)
[-m,-n]索引为-m的元素到索引为-n-1的元素(不含-n,左闭右开)
[m,-n]索引为m的元素到索引为-n-1的元素
[-m:]索引为-m的元素到索引为最后一个元素

元素修改

元素添加

  1. 语法格式:listname.append(obj),列表对象的append()方法,用于在列表末尾追加元素
  2. 语法格式:listname.insert(n,x),列表对象的insert()方法,用于在索引为n的位置插入元素x(执行效率低)
  3. 语法格式:listname.extend(seq),列表对象的extend()方法,用于将一个列表中的全部元素添加到另一个列表后面

元素修改
语法格式:listname[n],通过索引获得元素并赋予新值(n可以为索引或切片)

元素删除

  1. 语法格式:del listname[n],根据索引值删除(n可以为索引或切片)
  2. 语法格式:listname.remove(obj),列表的remove()方法,若不确定元素在列表中的位置,可以根据元素值删除(列表中有多个相同元素时,只删除第一个)
  3. 语法格式:listname.pop(n),列表的pop()方法,删除并返回列表中索引为n的元素(n默认为-1,即删除最后一个元素)
  4. 语法格式:listname.clear(),清空列表中所有元素,使其成为空列表
列表遍历

列表所有元素

同时输出列表元素和其索引
语法格式:for index,item in enumerate(listname):

列表的嵌套

格式:list=[list_1,list_2,list_3,...]

二维列表的遍历

列表复制

我们在前面讲过变量的真正意义可以看作是一个标签,其实列表名称也是一个变量(上面的例子中我们创建了两个标签指向同一块内存),使用简单的赋值操作定义的多个列表都将指向同一个内存地址,因此复制列表需要使用.copy()方法

对列表进行统计和计算
  1. 获取元素出现次数(元素不存在返回0)
    语法格式:listname.count(obj)

  2. 获取指定元素首次出现的索引(元素不存在则抛出异常),从索引为n的位置开始查找(n默认为0)
    语法格式:liistname.index(obj,n)

  3. 统计数值列表的元素和
    语法格式:sum(iterable,[,start])

列表排序
  1. 使用列表对象的sort()方法(改变原列表)
    语法格式:listaname.sort(key=None,reverse=False)
    参数说明
参数描述
key表示从每一个元素中提取一个用于比较的键(如设置key=str.value,表示排序时不区分字母大小写)2
reverse是否降序排列,值为True时降序,值为False时升序,默认升序

  1. 使用内置的sorted()函数(建立原列表的副本)
    语法格式:sorted(iterable,key=None,reverse=False)

参数说明

参数描述
iterable列表名称
key指定从每一个元素中提取一个用于比较的键(如str.lower表示排序时不区分字母大小写)
reverse是否降序排列,值为True时降序,值为False时升序,默认升序

  1. 使用列表对象的reverse()方法(改变原列表)
    将原列表反向排序,语法格式:listname.reverse()

列表解析表达式

格式: [ 表达式 for 变量 in 列表 ]

根据一个已知列表,按照表达式规则生成一个新的列表

生成器表达式

格式:( 表达式 for 变量 in 列表 )

生成器表达式和列表解析器两者有本质区别,列表解析表达式返回列表类型对象(创建使用小括号),生成器表达式是一个生成器对象,没有具体的值,只有在使用时才会一个个生成并且读到内存中(创建时使用中括号)


  1. range函数用于创建一个整数序列对象,语法格式:range(start,stop[,step])
    参数说明:start表示序列开始(默认为0,可选参数),end表示序列结束(左开右闭,不包括end),step表示步长(默认为1,可选参数)

    当range()函数的参数中只有end和step时,可能并不会生成期望的序列
    ↩︎

  2. 使用sort()方法的排序规则是先对大小写字母排序(第一位相同比较第二位,以此类推),然后再对小写字母排序,如果想要对字符串进行排序,就需要指定key参数
    ↩︎

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号