列表

内置数据结构(变量类型)

  • list
  • set
  • dict
  • tuple

list(列表)

  • 一组有顺序的数据的组合
  • 列表常用操作
  • 访问:
    1. 使用下标操作(索引)
    2. 列表的位置是从0开始
  • 分片操作:
    1. 对列表进行任意一段的截取
    2. l[:]
  • 注意截取范围,包含左边的下标值,不包含右边的下标值
  • 下标值可以为空,如果不写,左边下标值默认为0,右边下标值为最大数加一,即表示截取到最后一个数据
  • 分片可以控制增长幅度,默认增长幅度为1
  • 下标可以超出范围,超出后不在考虑多余下标内容
  • 下标值,增长幅度可以为复数
  • 为复数,表明顺序是从右到左
  • 规定:数组最后一个数字的下标是-1
  • 分片操作是生成一个新的list
  • 内置函数id,负责显示一个变量或者数据的唯一确定编号

List(列表)

del 删除命令

  • 举例:

      	a=[1,2,3,4,5]
      	del a[2]
      	print(a)
      运行结果:[1,2,4,5]
    
  • 使用del删除后,得出的列表不是新生成的列表

列表相加

  • 使用加号链接两个列表

  • 举例:

      	a=[1,2,3,4]
      	b=[5,6,7,8]
      	c=a+b
      	print(c)
      运行结果:[1,2,3,4,5,6,7,8]
    

列表相乘

  • 列表直接跟一个整数相乘,相当于把n个列表接在一起

  • 举例:

      	a=[1,2,3,4,5]
      	b=a*3
      	print(b)
      运行结果:[1,2,3,4,5,1,2,3,4,5,1,2,3,4,5]
    

成员资格运算:

  • 判断一个元素是否在list里边

  • 举例:

      	a=[1,2,3,4,5]
      	b=8
      	c=b in a
      	print(c)
      运行结果:False	
    
  • 链表的遍历:for,while

双层列表循环

  • a为嵌套列表,或者叫双层列表

  • 举例:

      	a=[["one",1],["two",2],["three",3]]
      	for k,v in a:
      		print(k,"--",v)
      运行结果:one--1
      		two--2
      		three--3
    

列表内涵:list content

  • 通过简单方法创作列表

  • for创建

  • 举例1:

      	a=[1,2,3,4,5]
      	#下面代码的含义是对于所有a中的元素,逐个放入新列表b中
      	b=[i for i in a]
      	print(b)
      运行结果:[1,2,3,4,5]
    
  • 举例2:对a中所有的元素乘以10,生成一个新的list

      	a=[1,2,3,4,5]
      	b=[i*10 for i in a]
      	print(b)
      运行结果:[10,20,30,40,50]
    
  • 举例3:过滤原来list中的内容生成一个新list

      	a=[x for x in range(1,35)]#生成一个1到34的列表
      	#把a中所有偶数生成一个新的列表b
      	b=[m for m in a if m%2==0]
      	print(b)
      运行结果:[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34]
    
  • 举例4:列表生成式可以嵌套

      	a=[i for i in range(1,4)]#生成list a
      	print(a)
      	b=[i for i in range(100,400) if i %100==0]
      	print(b)
      	#列表生成式可以嵌套,此时等于两个for循环嵌套
      	c=[m+n for m in a for n in b]
      	print(c)
      	#上面代码跟下面代码等价
      	for m in a:
      		for n in b:
      			print(m+n,end=" ")
      	print()
      	#嵌套的列表生成式也可以用条件表达式
      	c=[m+n for m in a for n in b if m+n<250]
      	print(c)
      运行结果:[1,2,3]
      	[100,200,300]
      	[101,201,301,102,202,302,103,203,303]
      	101 201 301 102 202 302 103 203 303 
      	[101,201,102,202,103,203]
    

关于列表的常用函数

  • len:求列表的长度
  • max:求列表中的最大值
  • min:求列表中的最小值
  • lsit:将其他格式的数据转换成list

关于列表的函数

  • append插入一个内容,在末尾追加

  • 举例:

      	a=[i for i in range(1,5)]
      	print(a)
      	a.append(100)
      	print(a)
      运行结果:[1,2,3,4]
      		[1,2,3,4,100]
    
  • insert:制定位置插入

  • insert(index,data)插入位置是index前面

  • 举例:

      	print(a)
      	a.insert(3,666)
      	print(a)
      运行结果:[1,2,3,4,100]
      		[1,2,3,666,4,100]
    
  • 删除:del

  • pop,从队尾拿出一个元素,即把最后一个元素取出来

  • 举例:

      	print(a)
      	last_ele=a.pop()
      	print(last_ele)
      	print(a)
      运行结果:[1,2,3,666,4,100]
      		100
      		[1,2,3,666,4]
    
  • remove:在列表中删除指定的值的元素

  • 如果被删除的值没在lsit中,则报错。即删除list指定值的操作应该用try…excepty语句,或者先进行判断

      	if x in list:
      		list.remove(x)
    
  • 举例:

      	print(a)
      	print(id(a))
      	a.remove(666)
      	print(a)
      	print(a(id))
      运行结果:[1,2,3,4,666]
      	140249408978184
      	[1,2,3,4]
      	140249408978184
      	#输出id值一样,说明remove操作是在原list直接操作
    
  • clear:清空

  • 举例:

      	print(a)
      	print(id(a))
      	a.clear()
      	print(a)
      	print(id(a))
      运行结果:[1,2,3,4]
      	140249408978184			
      	[]
      	140249408978184
    
  • 如果不需要列表地址保持不变,则清空列表可以使用以下方式:

      	a=lsit()
      	a=[ ]
    
  • reverse:翻转列表内容,原地翻转

  • 举例:
    a=[1,2,3,4,5]
    print(a)
    print(id(a))
    a.reverse
    print(a)
    print(id(a))
    运行结果:[1,2,3,4,5]
    14024909135624
    [5,4,3,2,1]
    14024909135624

  • extend:扩展列表,两个列表,把一个直接拼接到后一个上

  • 举例:

      	a=[1,2,3,4,5]
      	b=[6,7,8,9,10]
      	print(a)
      	print(id(a))
      	a.extend(b)
      	print(a)
      	print(id(a))
      运行结果:[1,2,3,4,5]
      	140249408367816
      	[1,2,3,4,5,6,7,8,9,10]
      	140249408367816
    
  • count:查找列表中指定值或元素

  • 举例:
    a=[1,2,3,4,5,6,7,8,9,10]
    print(a)
    a.append(8)
    a.insert(4,8)
    a.len=a.count(8)
    print(a.len)
    运行结果:[1,2,3,4,5,6,7,8,9,10]
    [1,2,3,4,8,5,6,7,8,9,10,8]
    3

  • copy:拷贝,浅拷贝

  • 举例:

      	a=[1,2,3,4,5,666]
      	b=a	#list类型,简单赋值操作,是传地址
      	b[3]=777
      	print(id(a))
      	print(b)
      	print(id(b))
      运行结果:[1,2,3,4,5,666]
      	[1,2,3,777,5,666]
      	140249408975432
      	[1,2,3,777,5,666]
      	140249408975432
      	#为了解决以上问题,list赋值需要采用copy函数
      	b=a.copy()
      	print(a)
      	print(id(a))
      	print(b)
      	print(id(b))
      运行结果:[1,2,3,4,5,666]
      	[1,2,3,777,5,666]
      	140249408975432
      	[1,2,3,777,5,666]
      	140249408976776
      	#
      	b[3]=888
      	print(a)
      	print(b)
      运行结果:[1,2,3,777,5,666]
      	[1,2,3,888,5,666]
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值