临汾山东漯河饰品美体美文
投稿投诉
美文创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品
漯河衢州
兴义眉山
桂林阳泉
玉溪简阳
山东遂宁
永城新余
梧州洛阳
泸州温州
临汾清远
营口常熟
浙江大连
桐乡宜昌

Python序列的元组字典集合一次说清楚,绝不拖泥带水

8月20日 颜如初投稿
  带你走进机器人时代
  Discover点击上面蓝色文字,关注我们
  Python序列除了列表外,还有元组、字典、集合等序列结构,他们各有不同的功能和应用,今天我们来看看。
  元组相当于是不可变的列表,一旦创建就不能修改。o(3,abc,〔1,2,3〕)print(o〔1〕)o〔1〕999print(o)运行结果:abcTraceback(mostrecentcalllast):FileF:Python程序元组,字典,集合示例。py,line9,inmoduleo〔1〕999TypeError:tupleobjectdoesnotsupportitemassignment
  元组创建的方法一:创建元组,如果只有一个元素,需要加上逗号p(3,)q(3)o(3,abc,〔1,2,3〕)print(type(p))print(type(q))print(type(o))运行结果:classtupleclassintclasstuple
  元组创建的方法二:
  使用tuple()函数创建或转换为元组:使用tuple()函数创建元组ptuple(ABC)print(type(p))qtuple(〔1,2,3,4,5〕)print(type(q),,q)otuple(range(1,5))print(type(q),,o)运行结果:classtupleclasstuple(1,2,3,4,5)classtuple(1,2,3,4)
  访问元组的方法和访问列表的方法大同小异,可以通过索引号、切片的方式访问。
  如果希望修改元组的元素,只能通过创建一个新的元组的方式来实现。所以,可以把元组理解为只读版的列表。
  通过下面的代码,我们可以看出元组和列表的区别:元组和列表的区别测试内存占用p〔〕print(列表的存储空间:,p。sizeof())q()print(元组的存储空间:,q。sizeof())运行结果:列表的存储空间:40元组的存储空间:24
  字典:是一种无序的、可变的序列,它的元素以键值对(keyvalue)的形式存储。如:{1:abc,2:efg}这种形式,1是键,abc是键值。
  它主要有这些特征:键是唯一的,不能重复;键不可变,只能使用数字、字符串或者元组,不能使用列表;字典是可变的,可以任意嵌套;字典是任意数据的无序集合;通过键来读取数据,而不是通过索引。
  我们来看看下面几种创建字典的方式:字典的创建p{1:abc,2:efg}print(p,type(p))mdict。fromkeys(〔张三,李世,王五〕,60)print(m,type(m))ndict(a手机,b电脑)print(n,type(n))d(〔two,2〕,〔one,1〕,〔three,3〕)adict(d)print(a,type(a))运行结果:{1:abc,2:efg}classdict{张三:60,李世:60,王五:60}classdict{a:手机,b:电脑}classdict{two:2,one:1,three:3}classdict
  访问字典的方式有两种:访问字典p{two:99999,one:88888,three:3}print(p〔one〕)print(p。get(one))运行结果:8888888888
  通过以下代码,我们看看对字典的增删改查的操作:访问字典p{two:99999,one:88888,three:3}增加一堆键及键值p〔three〕77777print(p)修改键及键值p〔three〕66666print(p)删除键及键值delp〔three〕print(p)判断键是否存在print(twoinp)print(fourinp)运行结果:{two:99999,one:88888,three:77777}{two:99999,one:88888,three:66666}{two:99999,one:88888}TrueFalse
  获取字典中特定的数据,我们还可以使用下列方法:
  keys()方法用于返回字典中的所有键(key);
  values()方法用于返回字典中所有键对应的值(value);
  items()用于返回字典中所有的键值对(keyvalue);p{two:99999,one:88888,three:3}print(p。keys())取得键print(p。values())取得键值print(p。items())取得键值对运行结果:dictkeys(〔two,one,three〕)dictvalues(〔99999,88888,3〕)dictitems(〔(two,99999),(one,88888),(three,3)〕)注意返回值的类型
  如果要操作这些返回值,需要转换为列表:p{two:99999,one:88888,three:3}print(p。keys())取得键注意返回值的类型slist(p。keys())print(s,type(s))运行结果:dictkeys(〔two,one,three〕)〔two,one,three〕classlist
  我们也可以使用循环来遍历字典:p{two:99999,one:88888,three:3}fori,jinp。items():print(i,j)运行结果:two99999one88888three3
  copy()方法:copy()方法a{one:1,two:2,three:〔1,2,3〕}ba。copy()向a中添加新键值对,由于b已经提前将a所有键值对都深拷贝过来因此a添加新键值对,不会影响b。a〔four〕100print(a)print(b)由于b和a共享〔1,2,3〕(浅拷贝)因此移除a中列表中的元素,也会影响b。a〔three〕。remove(1)print(a)print(b)运行结果:{one:1,two:2,three:〔1,2,3〕,four:100}{one:1,two:2,three:〔1,2,3〕}{one:1,two:2,three:〔2,3〕,four:100}{one:1,two:2,three:〔2,3〕}
  update()方法:update方法a{one:1,two:2,three:3}a。update({one:9,four:12})print(a)运行结果:{one:9,two:2,three:3,four:12}
  pop()和popitem()方法:删除键值对pop()和popitem()方法删除键值对a{数学:100,语文:99,英语:80}print(a)a。pop(语文)print(a)a。popitem()print(a)运行结果:{数学:100,语文:99,英语:80}{数学:100,英语:80}{数学:100}
  popitem()总是弹出底层中的最后一个keyvalue,这和列表的pop()方法类似。
  setdefault()方法用来返回某个key对应的如果该key存在,那么直接返回该key对应的
  如果该key不存在,那么先为该key设置默认值,然后再返回该key对应的默认值。
  字典可以用来格式化字符串,我们来看看它的应用:使用字典格式化字符串字符串模板中使用keyt我们国家(a1)s,有(a2)。0f年的历史,拥有人口:(a3)sc{a1:自古以来,a2:5000,a3:14亿}使用字典为字符串模板中的key传入值print(tc)运行结果:我们国家自古以来,有5000年的历史,拥有人口:14亿
  集合:与数学中的集合概念一样,用来保存不重复的元素,所有的元素都是唯一的。
  同一集合中,只能存储不可变的数据类型,包括整形、浮点型、字符串、元组,无法存储列表、字典、集合这些可变的数据类型。
  可以用{}和set()方法来创建集合,它最实用的特点就是用来过滤重复的数据。一般来说,由于集合是无序的,所有我们在访问集合的时候采用循环的方式来读取数据。
  通过代码,我们可以看到集合操作的一些方法:集合的操作p{1,2,3,4,6,7,7,8,9,9,0}集合会自动删除重复的元素print(p,type(p))向集合中添加元素p。add(ABC)print(p,type(p))从集合中删除元素p。remove(9)print(p,type(p))使用discard()删除元素,失败不会报错p。discard(ABD)print(p,type(p))q{3,4,5,999,ABC,CD}集合的交集运算print(pq)集合的并集运算print(pq)集合的差集运算取一个集合中另一集合没有的元素print(pq)取集合A和B中不属于AB的元素print(pq)运行结果:{0,1,2,3,4,6,7,8,9}classset{0,1,2,3,4,ABC,6,7,8,9}classset{0,1,2,3,4,ABC,6,7,8}classset{0,1,2,3,4,ABC,6,7,8}classset{ABC,3,4}{0,1,2,3,4,ABC,6,7,8,5,999,CD}{0,1,2,6,7,8}{0,1,5,2,6,7,8,CD,999}
  下面总结集合的一些方法:
  方法名
  语法格式
  功能
  add()
  set1。add()
  向set1集合中添加数字、字符串、元组或者布尔类型
  clear()
  set1。clear()
  清空set1集合中所有元素
  copy()
  set2set1。copy()
  拷贝set1集合给set2
  difference()
  set3set1。difference(set2)
  将set1中有而set2没有的元素给set3
  differenceupdate()
  set1。differenceupdate(set2)
  从set1中删除与set2相同的元素
  discard()
  set1。discard(elem)
  删除set1中的elem元素
  intersection()
  set3set1。intersection(set2)
  取set1和set2的交集给set3
  intersectionupdate()
  set1。intersectionupdate(set2)
  取set1和set2的交集,并更新给set1
  isdisjoint()
  set1。isdisjoint(set2)
  判断set1和set2是否没有交集,有交集返回F没有交集返回True
  issubset()
  set1。issubset(set2)
  判断set1是否是set2的子集
  issuperset()
  set1。issuperset(set2)
  判断set2是否是set1的子集
  pop()
  aset1。pop()
  取set1中一个元素,并赋值给a
  remove()
  set1。remove(elem)
  移除set1中的elem元素
  symmetricdifference()
  set3set1。symmetricdifference(set2)
  取set1和set2中互不相同的元素,给set3
  symmetricdifferenceupdate()
  set1。symmetricdifferenceupdate(set2)
  取set1和set2中互不相同的元素,并更新给set1
  union()
  set3set1。union(set2)
  取set1和set2的并集,赋给set3
  update()
  set1。update(elem)
  添加列表或集合中的元素到set1
  在Python中还有一种frozenset集合是不可变序列,程序不能改变序列中的元素。frozenset集合t{张三,李四,王五}ffrozenset(〔男,女〕)b{1班,2班}向set集合中添加t。add(f)print(t,t)运行结果:t{frozenset({男,女}),李四,王五,张三}
  字典和集合是进行过性能高度优化的数据结构,特别是对于查找、添加和删除操作。
  我们通过以下例子可以发现集合与列表在实际应用中的效率对比:初始化1万个产品的名称和价格分别用集合和列表来统计产品的价格数量计算耗时统计时间需要用到time模块中的函数importtimedeffind11(pd):plist〔〕for,priceinpd:Aifpricenotinplist:Bplist。append(price)returnlen(plist)id〔xforxinrange(0,10000)〕price〔xforxinrange(20000,30000)〕pdlist(zip(id,price))计算列表版本的时间开始时间time。perfcounter()find11(pd)结束时间time。perfcounter()print(列表总共用时:{}。format(结束时间开始时间))使用集合完成同样的工作deffinds(pd):usetset()for,priceinpd:uset。add(price)returnlen(uset)计算集合版本的时间开始时间1time。perfcounter()finds(pd)结束时间1time。perfcounter()print(集合总共用时:{}。format(结束时间1开始时间1))运行结果:列表总共用时:0。47609080000074755集合总共用时:0。0010524000008445
  可见,Python序列的类型,各有各的用处
  坚持学习,每天都能进步一点点!!
  往期回顾:来来来,送你一个金牌销售机器人,7X24小时不休,不要工资免费用!RPA技术在旅行社销售业务中如何凤凰涅槃??【工资翻三倍】系列:一招搞定九宫图片切割机器人,让你的朋友圈更加炫酷!
  本文引用和摘录相关内容,请联系侵删。
  END
  最后,文章有帮助到你的话【点赞在看】
  激励我们分享更多的干货!
投诉 评论

和同事程雨涵偷生娃,被妻子发现当众曝光,事后两人却没离婚?被妻子胡紫薇当着众多媒体和记者的面说出自己的丑闻应该是曾经的体坛一哥张斌这辈子都不想去回想的画面了吧其实这个名场面发生在2007年的一场关于奥运的……明知道牛栏山是勾兑酒,为什么还这么多人喝?原因很真实牛栏山作为我国两大烧酒之一,和红星二锅头各自占据了烧酒市场半边的江山,平价酒中的受欢迎的酒有很多,但是像牛栏山这么火的,却是极少的。如果你随便去问一个喝了几十年的老酒鬼,……妹子太多一篇装不完长发飘飘焦糖色,是以任意棕色为主,少量或者微量加入暖色红或者,暖色橙的色彩效果!暖色偏透光,容易显色!所以,我们只要把目标色设定在6度就可以体现出非常纯正的焦糖色效果!那冬……Python序列的元组字典集合一次说清楚,绝不拖泥带水带你走进机器人时代Discover点击上面蓝色文字,关注我们Python序列除了列表外,还有元组、字典、集合等序列结构,他们各有不同的功能和应用,今天我们来看看。……vivoXFold正式入网性能和续航新升级,月底发布作为智能手机的新势力,折叠屏手机受到了许多消费者的关注。近年来,各大手机厂商加大了在折叠屏手机领域的权重,为用户带来了更多的选择空间,其中vivoXFold凭借出色的整机配置和……iPhone十大隐藏功能曝光!果粉实测表示这招超省时间iPhone苹果手机虽然在国内市占率高,不过其实很多人都没有充分使用,有许多功能可能到换机时都没用到,外媒近日整理出最多人不知道的十大隐藏功能,其中,包含计算机使用、寻找讯息、……首度破冰?蔡崇信转发杜兰特公司出品篮球纪录片表态肯定欧文天赋打卡挑战局北京时间7月29日,在杜兰特申请交易之后,篮网老板蔡崇信三缄其口,一直没有表态。但是,这一次他首次转发了一条与杜兰特相关的推文,并且表态肯定了欧文的篮球天赋。……水煮虾用冷水下锅还是开水?很多人错在这一步,难怪虾肉又老又腥水煮虾用冷水下锅还是开水?很多人错在这一步,难怪虾肉又老又腥秋天是吃海鲜的季节,有梭子蟹、带鱼、大虾等等,都是我爱吃的,尤其是大虾,味道鲜美,吃起来也方便,用水煮一煮就行……中国女排13日本队,亚洲杯失利却因祸得福,蔡斌收获三大喜讯在昨天有一些奇迹的爆冷击败了泰国队之后,我们的u20中国女排在今天晚上的决赛当中面对了另外一支强队日本队,最终中国队是以1:3不敌对手,没有能够完成亚洲杯的五连冠。此前中国队也……两队近四次交锋均平局,切尔西主场略占优势,曼联意图客场取分K北京时间10月13日凌晨,英超联赛第13轮将迎来一场重磅对决,切尔西坐镇主场迎战曼联,此场对决可谓是众多球迷们望眼欲穿的比赛,这两支球队在新赛季的发挥都同为出色,并且在近期的状……这3样才是江西人的最爱,家里囤点能吃一整年,简单炒一炒特下饭众所周知,江西人无辣不欢,餐桌上宁可没有肉,也不能没有辣椒。其实,还有两样食材,也是江西人的最爱,那就是干菜和腊味。俗话说:家有余粮心不慌。在我的印象中,江西人特别爱囤货,家里……雷克萨斯经销商闹笑话使用特斯拉内饰图当广告汽车厂商制作宣传海报,用错车型的笑话,网友们是笑了又笑。而海外一雷克萨斯经销商同样离谱,竟用上了特斯拉Model3的内饰充当广告,就算不是很懂汽车的网友,也能看出一眼假。据报道……
2。6亿年轻人高潜力高活力高调性,这家电商平台如何助力品牌抓徽商银行根植江淮热土,践行金融为民服务安徽经济社会高质量发展孙怡24岁嫁给京圈太子,29岁宣布离婚神舟飞船两次降落在我家牧场电讯年终报道再见詹眉组合?热火4换1报价詹姆斯,湖人成人之美如何选购冷柜?南京网红浓度超标的丰富路,到底该怎么逛?CBA三消息裁判毁了新年大战,郭艾伦真的有伤,吴前打不了硬仗罕见的双星,证明了数十年前的预测Windows网络操作系统管理章练习六七盛典红毯吴谨言妆容显脏,杨超越裙子不合身,关晓彤终于穿对了失去后才知道珍惜?曾经的白月光自杀后才幡然醒悟吴签的事又有新进展?陈粟搭档之脱颖,讲述差点胎死腹中的苏中七战七捷内幕(八)《三个儿子》教学反思【张丽萍】互动问答:我该不该离婚?比较经典幽默语句给你面子要知道是我给的春季运动会400字优秀作文班主任与教学工作计划投资开玩具连锁店加盟的三种形式分析防毒面罩可以防苯系物吗芒果台的跨年晚会谁最尴尬?那当然是龚琳娜老师了中国男篮太难了!奥运会落选赛大结局,劲敌将派出全NBA阵容出中国电信向湖北捐赠4000万元现金防控疫情

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找