专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Python数据结构详解(三)列表与元组

  学习一门语言,了解其数据结构是基础。由于Python是动态编程语言,所以在定义变量时并不需要事先指定变量的数据类型,变量的声明和初始化是同时进行的。
  Python有如下五大数据结构类型:
  1、Number类型
  2、字符串类型
  3、列表,元组
  4、字典
  5、集合
  下面我们逐一来了解一下
  本篇主要介绍列表与元组,是数据结构类型介绍的第三篇。
  前两篇关于Number类型和字符串类型的介绍,可以看这里:Python数据结构详解(三)列表与元组。三、列表与元组
  之所以将列表与元组放到一起,是因为这两个数据类型很相似,可以将元组理解为只读的列表结构。1。1列表1。1。1列表的表达方式
  列表的元素和数量可以是任意的,可能只有几个元素,也可能有成千上万个元素,每个元素的类型可以是相同的,也可以是不同的,列表中区分元素顺序,也允许包含重复元素。
  下面来看下如何定义一个列表。纯数字列表number〔1,2,3,1〕纯字符串列表names〔peter,lili,gates〕混合列表person〔peter,1993,{age:30},True〕1。1。2列表的基本操作索引和切片
  列表的操作基本都是索引来实现的。
  索引编号默认是从0开始的,并且在python中,还支持反向索引,用负数表示:names〔peter,lili,gates〕输出结果:peterprint(names〔0〕)输出结果:liliprint(names〔2〕)超出索引范围,会抛出listindexoutofrange的错误print(names〔3〕)
  切片操作可以从列表中根据指定的开始索引与结束索引来获取一个新的子列表,切片有如下几个特点:
  (1)切片截取的是左开右闭区间,s〔1:3〕取的是s〔1〕与s〔2〕
  (2)结束索引若为0,会获取一个空列表
  (3)结束索引在列表中的位置若小于等于开始索引在列表中的位置,也会返回一个空列表
  (4)切片默认步长是1,也可以手动指定,但步长不能为0,否则会抛出异常str1〔h,e,l,l,o〕输出结果:〔h,e,l,l〕print(str1〔0:4〕)结束索引为0,输出结果:〔〕print(str1〔4:0〕)输出结果:〔l〕print(str1〔3:1〕)结束索引在列表中的位置小于等于开始索引在列表中的位置,输出结果:(空列表)print(str1〔4:1〕)省略开始索引,表示从0开始,输出结果:〔h,e,l,l〕print(str1〔:4〕)省略结束索引,表示截取到列表结尾,输出结果:〔h,e,l,l,o〕print(str1〔0:〕)省略开始与结束索引,表示复制整个列表,输出结果:〔h,e,l,l,o〕print(str1〔:〕)指定步长为2,输出结果:〔h,l,o〕print(str1〔::2〕)指定反向步长为1,输出结果:〔o,l,l,e,h〕print(str1〔::1〕)列表的加法与乘法
  加法操作使用加号()完成,表示把加号两端的列表变量连接形成一个新列表;
  乘法操作使用星号()完成,表示对当前列表对象进行复制并连接,并形成一个新列表。str1〔h,e,l,l,o〕str2〔w,o,r,l,d〕str3hellostr4world输出结果:〔h,e,l,l,o,w,o,r,l,d〕print(str1str2)输出结果:〔h,e,l,l,o,h,e,l,l,o〕print(str12)输出结果:helloworldprint(str3str4)输出结果:hellohelloprint(str32)
  虽然字符串本质上也是列表,但字符串与列表并不能直接相加str1〔h,e,l,l,o〕str2helloprint(str1str2)
  会抛出异常
  列表元素的检查(in运算符)
  可以使用in运算符检查某个元素是否在列表中,返回TrueFalsestr1〔h,e,l,l,o〕str2hello输出结果:Trueprint(hinstr1)输出结果:Trueprint(heinstr2)列表元素的修改与删除
  列表元素的修改是通过索引来实现的。str1〔h,e,l,l,o〕str1〔0〕w替换一个元素,输出结果:〔w,e,l,l,o〕print(str1)str1〔1:〕〔1,2,3,4,5,6〕使用切片方式替换多个元素,输出结果:〔w,1,2,3,4,5,6〕print(str1)
  列表的删除很简单,使用del语句即可。str1〔h,e,l,l,o〕delstr1〔0〕输出结果:〔e,l,l,o〕print(str1)delstr1〔3:〕输出结果:〔e,l〕print(str1)1。1。3多维列表
  所谓多维列表,就是列表的元素还是列表,列表的元素还是列表
  呃还是以二维举例吧example〔〔1,2〕,〔a,b,c〕,〔True,False〕〕输出结果:〔a,b,c〕print(example〔1〕)
  上面是最基本的创建二维列表的方式,但有时候二维列表是根据已有的条件来创建。i3j5k〔〔x2forxinrange(i)〕foryinrange(j)〕输出结果:〔〔0,1,4〕,〔0,1,4〕,〔0,1,4〕,〔0,1,4〕,〔0,1,4〕〕print(k)
  这边用到了列表解析生成二维列表的方式,现在看不懂没关系,看完下面章节再回头来看这里就明白了。1。1。4列表解析列表解析(或称列表推导)是根据已有列表,高效创建新列表的方式。
  列表解析是Python迭代机制的一种应用,常用于创建新的列表。
  解析语法:〔exprforvariniterable〕
  这个语句的核心是for循环,它迭代iterable对象的所有条目,前边的expr是生成列表元素的表达式。
  举个栗子array〔x2forxinrange(1,5)〕输出结果:〔1,4,9,16〕print(array)输出结果:〔2,3,4,6〕print(〔xyforxinrange(1,3)foryinrange(2,4)〕)
  1。2元组1。2。1元组的表达方式
  元组与列表一样,也是一种列表,唯一不同的是元组不能修改,将元组理解为只读的列表更容易帮助理解。
  下面来看下如何定义一个元组。number11,2,3,4输出结果:(1,2,3,4)print(number1)number2(4,5,6,7)输出结果:(4,5,6,7)print(number2)
  可以看到,元组是用圆括号()括起来的,并且在定义的时候可以不需要加圆括号。
  也可以将元组分配给多个变量。x,y,z(1,2,3)输出结果:123print(x,y,z)i,j1,2输出结果:12print(i,j)
  利用这个特性,可以很容易的实现变量交换,而无需中间变量。x,y1,2x,yy,x输出结果:21print(x,y)
  上面栗子中,变量的数量与元组中的元素数量是相同的,否则会抛出异常。
  问题来了,如果元组中元素很多,比如有100个,难道需要定义100个变量么?
  其实不用这么麻烦,只需要将部分元素赋给变量,其余元素转化为子列表即可,上栗子x,y,z(1,2,3,4,5,6,7,8,9)输出结果:12print(x,y)输出结果:〔3,4,5,6,7,8,9〕print(z)
  在上面代码中,右侧的元组有9个元素,而左侧只有3个变量,如果按以前的逻辑,执行这行代码肯定是要抛出异常的,但由于z变量前面有一个,这就是通配符,如果放在一个变量前面,表示列表,也就是说,变量z本身就是一个列表。Python解析器首先会按列表中元素的顺序和匹配对应的单个变量,剩下的值都给列表变量,也就是z。所以执行这行代码后,x和y的值分别是1和2,而z的值是〔3,4,5,6,7,8,9〕。
  需要注意的是,左侧变量中只能由一个带的变量,否则python解析器无法确定列表的范围。x,y,z(1,2,3,4,5,6,7,8,9)print(x,y,z)
  最后,再来看看如何定义只含一个元素的元组。number11输出结果:1print(number1)number2(1)输出结果:1print(number2)number31,输出结果:(1,)print(number3)number4(1,)输出结果:(1,)print(number4)
  从上面栗子可以看出,定义一个元素的元组需要在末尾加上逗号,否则就只是一个普通的值,并非元组。1。2。2元组的基本操作访问:元组和列表一样,也是通过索引来访问具体的元素;修改:元组是只读的,不支持元素的修改;删除:元素值不允许删除的,但可使用del语句删除整个元组。
  1。3相关函数与方法1。3。1列表与元组常用的函数
  函数
  含义
  len
  返回列表元组中元素数量
  max
  返回列表元组中最大的元素值(每个元素值必须是可比较的,否则抛异常)
  min
  返回列表元组中最小的元素值(每个元素值必须是可比较的,否则抛异常)
  list
  元组转换为列表
  tuple
  列表转换为元组str1〔1,2,3,4,5〕输出结果:5print(len(str1))输出结果:5print(max(str1))输出结果:1print(min(str1))str2〔h,i〕这里比较的是字符的ASCII码,输出结果:iprint(max(str2))还记得之前说过,True会被当作1,输出结果:Trueprint(max(0,True))会抛异常,这俩之间没法比较print(max(1,hello))str3(1,2,3)输出结果:(1,2,3)print(str3)输出结果:〔1,2,3〕print(list(str3))输出结果:(1,2,3)print(tuple(list(str3)))1。3。2列表与元组常用的方法
  方法
  含义
  append
  在列表最后插入新元素
  clear
  清除列表所有内容
  copy
  复制列表元组
  count
  用于统计某个元素在列表元组中出现的次数
  extend
  在列表结尾插入另一个列表,即用来扩展原列表
  index
  用于从列表元组中找出某个值第一次出现的索引位置
  insert
  将某个元素插入列表指定位置
  pop
  移除列表中的元素(默认是最后一个元素),并返回该元素的值
  remove
  移除列表中某个值的第一个匹配元素
  reverse
  列表元素反转
  sort
  列表元素排序classone〔lili,peter,gates〕newguyjackclassone。append(newguy)输出结果:〔lili,peter,gates,jack〕print(classone)newguys(lili,lala,bote)classone。extend(newguys)输出结果:〔lili,peter,gates,jack,lili,lala,bote〕print(classone)拷贝副本classtwoclassone。copy()指向同一个列表classthreeclassoneclassone〔0〕lala修改classone中的值,classtwo不会改变输出结果:〔lili,peter,gates,jack,lili,lala,bote〕print(classtwo)修改classone中的值,classthree会随着改变输出结果:〔lala,peter,gates,jack,lili,lala,bote〕print(classthree)输出结果:2print(classtwo。count(lili))输出结果:0print(classtwo。index(lili))classone。reverse()输出结果:〔bote,lala,lili,jack,gates,peter,lala〕print(classone)classone。sort()输出结果:〔bote,gates,jack,lala,lala,lili,peter〕print(classone)classone。clear()输出结果:〔〕print(classone)
  1。4列表与元组的差异
  总结一下列表与元组的差异点:可变性:列表是可变的(Mutable),也就是说,它们的元素可以通过索引进行修改、删除或添加,而元组是不可变的(Immutable),一旦创建就不能被修改。语法:列表用方括号(〔〕)来表示,元素之间用逗号(,)分隔,而元组用圆括号(())来表示,元素之间也用逗号(,)分隔。如果元组只有一个元素,则需要在元素后面加上一个逗号。使用场景:一般来说,当我们需要在程序中存储一些可以被修改的数据时,应该使用列表。而当我们需要在程序中存储一些不可修改的数据时,应该使用元组。性能:由于元组是不可变的,因此在一些情况下它们比列表更快,尤其是当元组作为字典的键时。内存:一般来说,创建元组类型tuple的变量比列表类型list要快,而且占用更小的存储空间。线程安全:元组类型变量的元素不可更改性,可保证多线程读写时的安全问题。
  下篇开始介绍字典,如果觉得小编写的不错的话,麻烦给个关注,点赞、转发
  更多的Python学习资料,可以到python资料获取,持续不间断地免费更新Python资料
  编程头条创作挑战赛

鹰潭寻亲五旬女子被救助,自述叫陈文清,穿黄色衣服,高约1米6受助者姓名陈文清(自述)受助者性别女受助者年龄56寻亲编号36060020230110007受助原因其它受助者特征自述叫陈文清,穿黄色衣服黑色裤子黑色鞋子,随身携带衣物,高约1米6品牌加冕!珠江智联通过数据治理国际标准ISO385051认证近日,珠江智联成功取得了由中国质量认证中心颁发的数据治理符合性评价(ISOIEC385051)证书,标志着珠江智联提供的数据治理信息技术服务与国际标准相匹配,展现了珠江智联在赋能企品牌全面焕新海外市场迎突破见证潍柴新能源商用车高光2022第一商用车网原创回看2022年的商用车行业,注定是不平凡的一年。对于潍柴新能源商用车而言,也是值得铭记的一年。这一年,潍柴新能源商用车共克时艰,紧抓行业发展机遇,踏上历史发展的又一新疆旅游真的需要那么多的网红旅游局长么?说起新疆旅游,这几年好像还挺受欢迎,全国更多的游客来新疆,到各地州打卡留念。作为一个土生土长的新疆人,感谢全国游客对新疆旅游业的支持与包容,也希望更多的游客能来新疆做客,大美新疆欢迈入千亿级!金霞2022全年技工贸总收入同比增长22红网时刻新闻1月9日讯(记者苏好通讯员蒋溪)冬日暖阳下,微风轻拂,位于湘江之滨的金霞呈现出一派火热的项目建设图景。1月9日,记者从长沙金霞经开区管委会获悉,园区2022年预计完成规吴京用iPhone被骂惨!网友你代言的安卓机呢?战狼吴京没有想到,有朝一日,自己积累的人品口碑会因为一台小小的iPhone14ProMax而全面崩塌。事情是这样的,去年年末的金鸡奖颁奖礼上,吴京眼见着友人刘德华登台致辞,立马掏出2022年成都新老商圈交相辉映公园商业发展迎来新阶段如何评价2022年成都零售物业市场?今日,第一太平戴维斯发布2022年成都房地产市场回顾及未来展望报告,报告称,2022年,成都新老商圈交相辉映,公园商业发展迎来新阶段。成都SKP加密合规代表Coinbase认罚5000万美元,去年股价遭膝盖斩,全球加密监管进入新阶段华夏时报(www。chinatimes。net。cn)记者赵奕胡金华上海报道近日,据外媒报道,全球第一家上市加密货币交易所Coinbase(NASDAQCOIN)宣布同意向纽约州金鱼跃医疗被指发国难财的背后,是尴尬的盈利窘境作者l橙子除了面临业绩增长乏力等经营问题,作为家用医疗器械第一股,鱼跃医疗近期也因吃相难看被送上舆论顶峰,更有人直指其大发国难财。深陷舆论漩涡受防疫措施变化,近期用于血氧浓度检测的22。99万元的Model3对比奥迪A4L40TSI时尚动感型,哪款更值?在1月6日特斯拉的大降价可以说引起汽车行业内的震动,打的一众造车新势力措手不及,甚至对豪华品牌的燃油车也造成不小的影响。像特斯拉Model3这款经典的纯电中级轿车,它的基础入门款降孙俪和妹妹拍时尚大片,穿新年红服饰惊艳又洋气,妹妹太美了长相比较成熟的女性,在年轻的时候,其实还是挺不占优势的,就算年龄非常小,但是长相气质偏向于大女人的感觉,就很难找对自己的穿衣风格。打扮的过于成熟,整体看上去又会显得特别违和,穿的少
12款辣椒酱对比老干妈7成是油没吃过这1款,不要说自己能吃辣有人喜欢特辣,也有人喜欢微辣,面对不同的辣度,我们如何挑选一款适合自己的辣椒酱?香喷喷的辣椒酱特别下饭,一吃就是好几勺。但是,你有没想过每吃一勺的辣椒酱,你可能会吃下多少的油和盐?中国2款放心酒,经鉴定是100纯酿,好喝不贵,你喝过几个?如果问安全感是什么?肯定很多人回答钱!毕竟一分价钱一分货,在白酒圈,大家都认为价格越贵的酒越好,比如茅台,甚至更高价格的酒,而那些便宜到十几二十块钱的酒,只能是差酒。这种固有思想,明日中秋,建议大家别太心疼钱,多吃4种海鲜,团圆喜庆过中秋金秋佳节话家常皓月当空人团圆,花好月圆人长久,中秋节是中华民族的传统佳节,正处于一年之中气温最适宜,各种食材争先上市的金秋时节,因此中秋节是一个感恩和团圆喜庆的节日。中秋节家人欢聚澳洲第三大城市布里斯班市区掠影布里斯班(Brisbane)是澳大利亚昆士兰州首府,也是第三大城市,仅次于悉尼和墨尔本,是个美丽的滨海城市。我们一大早从墨尔本出发,经过一小时左右的飞行抵达布里斯班。从飞机上往下看一线警察海拔4900米边境,一个小派出所守护一个民族70年来源北京日报客户端朋友,你去过独龙江吗?你走过由无数个之字形组成的独龙江公路吗?你闻过4900米高山上草果的芳香吗?你喝过独龙纹面女酿造的美酒吗?是的,这是独龙江的美景。但是还有比诗意中国平分秋色一轮满,长伴云衢千里明原标题新华全媒丨诗意中国平分秋色一轮满,长伴云衢千里明9月10日在江苏苏州拍摄的圆月。新华社发(杭兴微摄)当日是农历八月十五中秋节,人们同赏明月,共度佳节。9月10日晚在江苏省南京麻栗坡有个植物资源宝库这个是黄精,这叫树萝卜,这是石斛在麻栗坡天保镇的老山药王谷中,麻栗坡友缘农业专业合作社理事长韦堂友走在药王谷植物长廊中,边指着眼前额植物边介绍着。郁郁葱葱的植物交织生长,枝连着叶,最美的风景打开眼界每个人的心中都有个梦想,想探索我们生存的地球。也许你想足不出户就能领略到名山大川,也许你想毫不费力就能了解到芸芸众生,地球上那么多令人惊叹的神奇存在,激起了我们内心深处旺盛广东梅州八乡山,客家世界的香格里拉,独特风景无不撩人心弦头条创作挑战赛鸿图嶂山顶大峡谷栈道大峡谷利用周末,到八乡山一天游,上午登鸿图嶂,下午徒步八乡山大峡谷。杜鹃花怪石嶙峋瀑布初夏一个周末早上,开车沿着盘山公路,来到丰顺县八乡山镇和五华贵州600年古城,花32亿打造黔中江南水乡,500米老街重现荣光你能想象得到吗?一条看似破旧不堪的老街,竟然走出了1个武举人4位将军3名中央委员。还有100多座四合院众多名人公馆,以及一众安顺地道美食,都聚集于此。2013年,这条名为儒林路的老海口文明已成市民出行标配图海口网9月11日消息(记者韩俊元摄影报道)肥嘟嘟的大熊貓正吃着竹笋,气势十足的东北虎在草丛中踱来踱去这个中秋小长假,不少海口市民选择带着孩子到海南热带野生动植物园打卡。让人感到欣慰
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网