列表和元组

通用序列(字符串、列表、元组)操作

  • 索引#可连用[ ][ ],返回单独元素#成员类型
  • 切片s=[开始:结束:步长] #对什么数据类型进行切片,得到的片段就是该类型,步长相当于跳跃的步数,默认为1,其正负代表切片顺序

b[::] #从头切到尾

b[::-1] #逆序

a[1:-6:-1] #方向与指定头尾不对应,得到[]

a[1:-6] #正确

  • in 和not in 判断元素是否在序列中
  • +连接和*重复
  • list.count(item#元素#) 计算元素出现个数,不存在,返回0
  • interable.index() #返回一个值在序列中指定范围第一次出现的索引位置
  • s.index(x,start,end) #序列s中从i开始到j位置中第一次出现元素x的位置,不存在则报错
  • rindex() #返回最后一次出现,从尾部往前找 
  • all(iterable):判断可迭代对象的每个元素是否都为True值,若是,则返回True
  • any(interable):判断可迭代对象的元素是否有为True值的元素,若是,则返回True

列表[ ] :参数可以是字符串、集合、元组和字典,整数,浮点数和布尔值

  • 创建
  1. list()#空列表# 转换,list(参数)#参数可以是字符串、集合、列表、元组和字典(可迭代对象),不能是整数,浮点数和布尔值#
  2. [ ]创建空列表或列出所有元素

*list[range()] 创建出来的一个列表,可迭代

  • 元素修改与删除

list[2]=8,#用元素赋值的方式修改# del list[1]或list[2:8]#删除一个或多个元素#

  • 分片赋值

list[2:9]=lt#lt是一个列表,将原列表中的一个片段替换掉,也可用于删除和插入#

常用方法 列表专用

添加

  • list.extend([ ])#一次在列表末端插入多个元素(循环访问),对列表进行原地修改。     #*和+连接不同,+连接会产生新列表,而原先两个列表依然存在。

extend完全替换掉原列表,相当于+=

  • list.append()#在列表末端插入元素,一次只能插入一个##返回值是none

eg. ls=[1,2,3,4] s2=[5,6,7]

ls.extend(s2)=[1,2,3,4,5,6,7]#遍历s2#

ls.append(s2)=[1,2,3,4[5,6,7]]#将s2视作一个元素插入#

bir=[] for i in range(1,23): bir.append(random.randint(1,365)) print(bir)

  • list.insert(i,x)#在第i位置添加x元素

删除

  • ls.pop()#移除并返回列表中指定某位置的元素,若不指定,则返回最后一个元素#

*append与pop合用解决先进先出队列操作

  • list.remove('招商银行')#移除某个元素

ls.copy() #复制并生成一个新列表#

为什么不直接用赋值代替?赋值≠复制

但只有可变对象会存在此类情况,不可变对象如int即便赋值也是两个独立的变量

eg. info=['ymx','42104266']

term1=info #这一步叫赋值,info里的对象将和term1完全一样#

print(term1) term1.extend([100,99]) print(term1) print(info)

输出结果:['ymx', '42104266'] ['ymx', '42104266', 100, 99] ['ymx', '42104266', 100, 99]

copy()的结果则不同

info=['ymx','42104266']

term1=info.copy()#这一步复制了info中的对象到term1,但两者是单独的

print(term1) term1.extend([100,99]) print(term1) print(info)

输出结果:['ymx', '42104266'] ['ymx', '42104266', 100, 99] ['ymx', '42104266']

其他

  • sort() #排序,详细的在函数章函数

stock_list.sort(key=lambda x:x[1])#key后面给了排序的根据

  • list.clear(#无参数)#清空所有元素,剩空列表

元组

  • 创建
  1. 空元组:(),tuple() #和列表相似 #参数必须是可迭代序列
  2. ()#列出所有元素
  3. 元组中只包含一个元素时,需要在元素后面添加逗号

tup1 = (50,)

  • 多重赋值 列表和元组都有

f1,f1=(‘a’,‘b’)

  • 不可变

元组的顶层元素不可变,但若某个元素是列表,则列表数据可变

zip函数#将一些并排的元素配对组成元组,(压缩),形成一个可迭代对象#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值