数据结构之列表

列表(可变数据类型)

列表是python中非常重要的数据类型,通常作为函数的返回类型。列表和元组相似,也是由一组元素组成,列表可以实现添加、删除和查找操作,元素的值可以被修改。
思维导图:
这里写图片描述

列表的定义

列表是打了激素的数组,数组只能存储同种类型的数据,而列表像一个仓库,存储不同类型的数据.

l = [] ##空列表
l = [1] ##1个元素的列表
l = [1,(1,2),”hello”,[1,2]]

列表的特性

  • 索引
    和元组索引类似
l=[1,(1,2),"hello",[1,2]]
print l[1][1]
print l[-2][-2]
print l[-1][1]

这里写图片描述

  • 切片
l=[1,(1,2),"hello",[1,2]]
print l[2::]
print l[-2::-1]

这里写图片描述

  • 重复
l=[1,(1,2),"hello",[1,2]]
print l*2
print l[2::]*2
print [1,2]*2

这里写图片描述

  • 连接
l=["hello","world"]
l1=["hello","everbody"]
print l+l1

这里写图片描述

  • 判断子元素
l=["hello","world"]
print "hello" in l

这里写图片描述

列表的方法

增加:

  • l.append() //末尾追加单个元素
l=["hello","world"]
l.append([2,1])
print l

这里写图片描述

  • l.extend() //末尾追加多个元素,用“()“或者“[]“都可
l=["hello","world"]
l.extend([2,1])
print l

这里写图片描述

l=["hello","world"]
l.extend([(2,),(1,)])
print l
print type(l[3])

这里写图片描述

  • l.insert(index,元素) //指定位置插入单个元素
l=["hello","world"]
l.insert(1,"!")
print l

这里写图片描述

删除

  • l.remove() //删除第一个遇到的元素值,无返回值!
l=["hello","world"]
l.remove("hello")
print l

这里写图片描述

l=[“hello”,”world”,”hello”,”everbody”]
l.remove(l[1])
print l
这里写图片描述

  • l.pop() //删除指定的索引所在的元素,默认删除最后一个,返回值为索引对应的值!
l=["hello","world","!"]
print l.pop(1)
print l

这里写图片描述

l=["hello","world","!"]
print l.pop()
print l

这里写图片描述

  • del(list) //删除列表
l=["hello","world","!"]
del(l)
print l

这里写图片描述

修改:

直接根据索引进行修改
l[0]=”value” l[0][1]=”value”

l=["hello","world","!",["hello","everbody"]]
l[3][1]="anybody"
print l

这里写图片描述

查看列表信息

  • l.count() //查找某个元素出现的次数
  • l.index() //查找某个元素最小的索引
  • len(l) //查看列表长度
l=["hello","world","!",["hello","everbody"],"hello"]
print l.count("hello")
print l.count(["hello","everbody"])
print l.index("hello")
print len(l)

这里写图片描述

排序

  • l.sort() //列表排序,元素按照首字母升序排序,返回sort后的列表
l=["hello","world","!",["hello","everbody"],"hello",1,3]
l.sort()
print l

这里写图片描述

  • l.reverse() //列表逆转,返回reverse后的列表
l=["hello","world","!",["hello","everbody"],"hello",1,3]
l.reverse()
print l

这里写图片描述

内置方法

min(),max(),len(),zip(),enumerate(),sum(),sorted(),reversed()

  • min() //返回list的最小值
  • max() //返回list的最大值
  • sum() //求和
  • len(list)//列表的长度

  • zip()//zip([seql, …])接受一系列可迭代对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。

user=["root","kiosk"]
passwd=["redhat","westos"]
a=zip(user,passwd)
print a
print a[0]
print a[1]
print a[0][1]

这里写图片描述

  • enumberate() //同时需要index和value值
l=["apple","banana","grape"]
print list(enumerate(l))
for i,j in enumerate(l):
    print i,j

这里写图片描述

  • sorted(list) //返回值为列表,sorted() 原列表未被改变,sort()原列表被改变了
l=[1,5,7,2,0,9]
list=sorted(l)
print l
print list

这里写图片描述

str=sorted("c a b".split())
print str

这里写图片描述

  • reversed(list) // 不改变原list
l=["hello","world","hello","everbody"]
for i in reversed(l):
print i,

这里写图片描述

1.通过列表实现堆栈的数据结构;

堆栈是一个后进先出的数据结构,实现如下:

l.append()实现入栈
l.pop()实现出栈

2.通过列表实现队列的数据结构;
队列的实现:

l.append()实现进队操作
l.pop(0)实现出队操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值