python 序列——列表

序列是一种数据存储方式,用来存储一系列的数据,在内存中,序列就是一块用来存放多个值的连续的内存空间。常用的序列结构有字符串、列表、元组、字典、集合

一.列表简介

  1. 用于存储任意数目、任意类型的数据集合
  2. 是内置可变序列
  3. 如a=[10,20,‘abc’,TURE]

二.列表方法

list.append(x)尾部添加x
list.extend(alist)将alist所有元素加到list尾部
list.insert(index,x)在指定位置插入x
list.remove(x)删除首次出现的x
list.pop([index])删除并返回指定位置元素,默认为最后一个
list.clear()清除所有元素
。。。

在这里插入图片描述
一般只在列表的尾部添加或删除元素

列表添加、删除

1 .append()

2. +运算符操作
并不是真正的尾部添加元素,而是创建新的列表对象,将原列表的元素和新列表的元素依次复制到新的列表对象中,不建议使用
如a=a+[50]

3. extend()方法
a.extend([50,60])不创建新的对象,推荐使用

4.insert()在指定位置插入x
不推荐使用

5.乘法扩展b=a*3

6. del删除
如 del a[1],实际上是将后面的元素往前拷贝

7.pop()删除并返回指定位置元素,默认为最后一个
a=[10,20,30,40]
b=a.pop()
b就是40,a为[10,20,30]

8. a.remove(x)删除首次出现的x

注:列表对象大小可变,字符串的很多方法列表中也类似

三.列表创建

四种方法
1. 基本语法[]创建
a=[10,20,‘abc’,TURE]
2. list()创建
使用list可将任何可迭代的数据转化为列表
在这里插入图片描述
3. range([start,] end [,step])
如list.range(0,10,1)
结果为[0,1,2,3,4,5,6,7,8,9]

4. 推导式生成列表
如a=[x*2 for x in range(5)]
结果为a=[0,2,4,6,8]
常与for循环、if判断结合

四.列表的访问与计数

  1. 可通过索引直接访问元素,如a[2]
  2. index()获得指定元素在列表中首次出现的索引
    语法:index(value,[start,[end]]),其中start和end指定了搜索的范围
    如a.index(20)返回首个元素20的索引
    a.index(20,3)从索引位置3开始访问
  3. count()获得指定元素在列表中出现的次数
    如a.count(20)返回20出现的次数
  4. len()返回列表的长度
    如len(a)

五.成员资格判断

判断列表中是否存在指定的元素,可使用count()方法,返回0则表示不存在
不过一般用in关键字来判断
如20 in a
结果返回true或false

六.列表切片操作

格式:
[start: end: step] 包头不包尾
在这里插入图片描述

七.列表排序

1.修改原列表,不建新列表的排序
a.sort()升序
a.sort(reverse=True)降序
import random
random.shuffle(a)打乱顺序

2.建新列表的排序
通过内置函数sorted()进行排序,返回新列表
a=sorted(a)默认升序
b=sorted(a,reverse=True)降序

3.reversed()返回迭代器
内置函数reversed()也支持逆序排列,与列表对象reverse()方法不同,reversed()不对原列表做任何修改,只返回一个逆序排列的迭代对象
a=[20,10,30,40]
b=reversed(a)
list(b)为[40,30,10,20]

八.列表相关的其它内置函数

  1. max、min返回列表的最大值和最小值
    max(a)
    min(a)
  2. sum数值型元素求和,非数值型报错
    sum(a)

九.多维列表

1. 二维列表
一维存储线性数据[10,20,3,4]
二维[[10,3],[80],[1],2]列表内套一层
二维可存储表格数据
引用:
a[0]列表第一行
a[0][1]第一行第二个元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值