Python-序列之列表,元组相关语法

本文详细介绍了Python中的列表和元组操作,包括它们的创建、元素的增加和删除、访问计数、排序等。对于列表,讨论了append、extend、insert和pop等方法,以及切片、排序和成员资格判断。元组作为不可变序列,其创建、访问和计数方法与列表类似,但无法进行修改。此外,还提到了生成器推导式在创建元组中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可变字符串:引用IO模块,a=io.StringIO(s) ,a.seek()先确定指针的位置,a.write(“需要改变的内容”)

基本运算符:

  1. 比较运算符可以连用3<a<10 ,
  2. #bin()可以把数字转成二进制表示
  3. 左移一位相当于乘以2,二位乘以4以此类推(a<<1);右移一位相当于除以2,二位除以4以此类推(a>>1)
  4. Python 不支持自增(++),自减(--),只能用a+=1
  5. 运算符优先级:乘除大于加减,位运算和算术运算>比较运算符>赋值运算符>逻辑判断

序列

Python中常用的序列结构有:字符串,列表,元组,字典,集合

序列中储存的是对象的地址,而不是对象的数值

列表

列表是任何元素的序列,而字符串只是一个字符的序列

列表的创建 

  1. 基本语法[ ]创建     #a=[1,2,a,d,‘txy’], a=[ ]
  2. list( )创建,使用list可以将可迭代的数据转化成列表   #a=list("txy") 得到a =['t','x','y'], a=list(range(3))得到a=[0,1,2]
  3. range( )创建  range(start,end,step), start不选默认为0,step不选默认为1,end必须设定。取头不取尾
  4. 推导式生成列表 通常和for以及if语句结合使用      例a=[x*2 for x in range(5)] 得到a=[0 2 4 6 8]

列表元素的增加和删除

列表的增加

一般在列表的尾部进行增加,中间增加会增加内存。

  1. append() 直接讲元素加到列表尾部 例:a=[1,2], a.append(3),得到a=[1,2,3]
  2. +方法,对列表使用拼接操作,创建新的列表对象,不建议使用
  3. extend(), 一般用于两个列表整合,不会创建新的列表,效率较高
  4. insert(),一般用于将指定元素插入对象任意位置 例:a=[1,2], a.insert(1,5),得到a=[1,5,2]
  5. 乘法扩展

列表的删除

  1. del 删除  原理上还是数组的拷贝,避免在输出中间的元素(本质上和插入相同)
  2. pop()方法 删除并返回指定位置元素,如果未指定元素,则默认为最后一位
  3. remove()  括号里不再是索引位置而是元素内容,会删除第一个元素,若元素不存在则报错

列表元素访问和计数

通过索引直接访问

Index() 获得指定元素在列表中首次出现的索引 语法为:index(value,[start,[end]]),start和end决定了范围

count() 获得指定元素在列表中的次数

len() 获得元素的个数

成员资格判断: 直接使用in操作符来判断 也可以使用count来判断

列表的切片操作

切片slide可以快速提取或者修改子列表,格式为:[start:end:[step]] 遵循包头不包尾原则。

列表的排序

  1. 修改原列表,不建立新列表

          sort() 默认为升序排列,sort(reverse=true) #降序排列, import random, random.shuffle(a)#随机排序

    2. 新建列表的排序

         通过内置函数sorted()#默认为升序,降序排列同上

     3. reversed()返回迭代器 

         a=[1,2,3,4], c=reversed(a), list(c)=[4,3,2,1] #迭代器只能使用一次

二维列表

a=[  

[ '' 姓名","年龄","性别"  ]

[ '' 姓名1","年龄1","性别1"  ]

[ '' 姓名2","年龄2","性别2"  ]

]           可以通过正常索引来搜寻所需要的数据,例如a[2][1]="年龄2"

元组

和列表不同,元组属于不可变序列,元组的处理速度比列表快。

元组的创建

1.通过()创建,括号可以省略 若元素只有一个,必须在元素后面加逗号,如果不加解释器会将元素认为数而不是元组

2.通过turple()创建 turple(可迭代的对象),若括号里为空,则创建一个空元组对象 #和列表中的list原理相同

元组对象的删除   直接del指定完成删除

元组元素访问和计数

元组的元素是不能修改的,访问和列表相同,直接方括号访问,除了不能修改之外, 其他的内容和列表完全相同。

注意:元组排序中没有sort,若要排序只能使用内置函数sorted,而sorted都会生成列表而不是元组

ZIP:把多个列表组成位元组,并返回ZIP这个对象,通常再把整个元组再用list生成列表以便使用。

生成器推导式创建元组

大部分和列表生成相同,只不过生成器推导式使用小括号,同时也不是生成列表或者元组,而是一个生成器对象,通过生成器对象在转化成列表或者元组。生成器只能使用一次,第二次则为空需要再生成一个生成器如果需要使用。

可以通过__next__()来依次调用数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值