文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python3列表和元组

2023-01-31 01:56

关注

数据结构

数据结构是以某种方式组合起来的数据元素的集合。在Python中基本的数据结构就是序列

序列

列表和元组;区别:列表可以修改,元组不可以修改

例:  a = ['name',age] 序列可包含其他序列,比如:all=[a,a]

Python支持数据结构的基本概念,叫容器。容器可包含其他对象的对象。两种主要的容器是序列(列表和元组)和映射(字典)。在序列中每个元素都有编号;在映射中,每个元素都有;有一种既不是序列也不是映射的容器,叫集合(Set)。

序列的所有元素都是从0开始递增,叫做索引,当使用复数索引的时候,Python将从最后一个元素开始往左数,即-1是最后一个元素

切片

切片用来访问特定范围内的元素 tag[9:30]截取tag中第9到第30位的值,包前不包后

例:num = [1,2,3,4,5,6,7,8,9,10]

num[3:6]==>[4,5,6] num[-3:-1]==>[8,9]  num[-3,0]==>[](因为0是第一位),正确的写法是num[-3:]==>[8,9,10](指的是取值取到结束);同理;要是省略第一个索引,则从头开始;num[:3]==>[1,2,3];两个索引都省略====>复制整个序列

固定步长:即将按照指定步长跳过一些元素 num[0:10:2]==>[1,3,5,7,9]

步长不能为0,否则无法向前移动;但是步长可以为负数,即从右向左提取元素

num[8:3:-1]==>[9,8,7,6,5];num[10:0:-2]==>[10:0:-2]==>[10,8,6,4,2];num[0:10:-2]==>[];num[::-2]==>[10,8,6,4,2];num[5::-2]==>[6,4,2];num[:5:-2]==>[10,8]

步长为负数时候,如果开始值和结束值都存在,则开始值必须比结束值大;如果有一个数不存在,则负数步长则按照从右到左开始提取。

相加

序列中用相加来拼接序列 [1,2,3]+[4,5,6]==>[1,2,3,4,5,6]

注:不同类型的序列无法完成拼接,会报错,比如int拼string就会报错

乘法

序列与x相乘,将序列里面的元素复制x次     [4]*5==>[4,4,4,4,4]

None:表示什么都没有,如果要创建长度为10的空序列==>[None]*10

成员资格

检查特定的值是否包含在序列中,使用运算符 in,包含返回True,不包含返回False

str = 'abcdefg'

'abc' in str ==>True;可以检查一个字符串是否是另一个字符串的子串

列表

使用字符串来创建列表  list(‘Hello’)==>['H','e','l','l','o'](可以将任何序列作为list的参数)

修改元素

修改列表中元素的值m[2] = 6,将列表中第三个元素变为6;:不能给不存在的元素赋值

删除元素

del m[2],删除列表中第三个元素,后面的前移

给切片赋值

name=list('Perl')==>['P','e','r','l']

name[2:] = list['mm']==>['P','e','m','m']

而且,利用切片赋值可以替换长度与其不同的序列

切片赋值可以在不替换原有元素的情况下插入新元素 num =  [1,5]    num[1:1] = [2,3,4]==>[1,2,3,4,5] 

列表方法

append:在列表末尾追加

clear:清空列表的内容

copy:复制列表 b = a指向的是一个地址,改变b的值a也跟着改变;  b=a.copy这时候b指向的是a的副本,不影响a的值

count:计算指定元素在列表中出现了多少次

extend: 同时将多个值附加到列表末尾,即将一个列表extend到另一个列表里面(拼接的效率会低于extends)

               a[1,2,3]   b[4,5,6]  a.extend(b)    a==>[1,2,3,4,5,6];

index:查找指定值第一次出现的索引   注意:不能查找本来不存在的值

insert:用于将一个对象成仇人列表。参数1:插入位置 ;参数2:插入内容

pop:从裂帛啊中删除一个元素 ,并返回这一元素   p.pop():pop了最后一个元素 ;p.pop(0):pop第一个元素;pop是唯一一个      修改列表又返回一个非None值的列表方法                                                                                                                                                pop实现栈:后进先出;python中没有push,用append代替

remove:用于删除第一个作为指定值的元素,若有两个或者多个同样的值,则删除第一个;不能remove列表中不存在的值

reverse:按照相反的顺序排列列表中元素,但不返回任何值,只是单纯的修改表元素

reversed:这个函数不返回列表,而是返回一个迭代器 x = [1,2,3]   list(reversed(x))==>[3,2,1]

sort:对列表就地排序,对原来的列表进行修改,不返回副本;不返回任何值

sorted:获取排序后的列表副本

高级排序:sort中有两个可选参数 key和reverse;key:用于排序的函数(排序规则);reverse:true相反/false 是否按照相反的              顺序进行排序

元组

元组不能修改,只要将一些值用逗号分隔,就能自动创建一个元组

1,2,3==>(1,2,3)

():空括号表示一个空元组   42,表示只包含一个值的元组,一定要加上逗号

tuple的工作原理与list很像:将一个序列作为参数,并将其转换为元组

tuple([1,2,3])==>(1,2,3)  tuple('abc')==>('a','b','c')  tuple((1,2,3))==>(1,2,3)

元组的切片是元组

元组可以用作映射中的键、集合的成员,但是列表不行

有些内置函数和方法返回元组,一般情况下而言,使用列表足以满足对序列的需求

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯