设为首页 收藏本站
查看: 605|回复: 0

[经验分享] Python列表list详解篇(七)

[复制链接]

尚未签到

发表于 2018-8-6 06:30:04 | 显示全部楼层 |阅读模式
  介绍:
  列表是最常用的python数据类型,它可以作为一个方括号内的逗号用分隔值出现。
  列表的数据项不需要具有相同的类型。
  创建一个列表,只要逗号分隔的不同数据项用方括号括起来即可。
  name=[‘’beijing,shenzhen,nanjing]
  访问列表的值:(列表的下标是从0开始计算第一位的,-1从倒数第一位计算
  list_names = ['shenzhen','nanjing','beijing']
  #list_num = ['11','22','33']
  print(list_names[0])
  print(list_names[2])
  print(list_names[-1])
  print(list_names[-2])
  print(list_names[:2]) #这里是指打印第一位到第三位(第三位不算此列)
  print(list_names[-2:-1]) #从左向右数倒1不算,所以打印倒数第二个
  运行结果:
  shenzhen
  beijing
  beijing
  nanjing
  ['shenzhen', 'nanjing']
  ['nanjing']
  
  注意:
  1.列表的下标是从0开始计算(0相当于第一位)
  2.-1表示倒数第一位
  3.列表中的下标是从左向右计数(读取)
  切片:截取多个元素
  list_names = ['ShenZhen','NanJing','BeiJing','YueYang','ChangSha','GuangZhou','ShaXian']
  #list_num = ['11','22','33']
  print(list_names[1:4]) #去下标1-4,不包括4
  print(list_names[1:-1])#截取下标1~-1不包括-1
  print(list_names[1:])#想获取到最后一个只能这么写
  print(list_names[0:4])
  print(list_names[:4]) #与[0:4]效果等同,所以可以省略0
  print(list_names[0::2])#后面的2是代表每隔一个元素就获取一个。2是可以变的。如果写成[0::1]效果等同于[:]d打印全部元素
  print(list_names[::2]) #效果等同于[0::2]
  运行结果:
  ['NanJing', 'BeiJing', 'YueYang']
  ['NanJing', 'BeiJing', 'YueYang', 'ChangSha', 'GuangZhou']
  ['NanJing', 'BeiJing', 'YueYang', 'ChangSha', 'GuangZhou', 'ShaXian']
  ['ShenZhen', 'NanJing', 'BeiJing', 'YueYang']
  ['ShenZhen', 'NanJing', 'BeiJing', 'YueYang']
  ['ShenZhen', 'BeiJing', 'ChangSha', 'ShaXian']
  ['ShenZhen', 'BeiJing', 'ChangSha', 'ShaXian']
  注意:你还以继续探索,多练就能熟练掌握。
  追加:(默认追加到list最后一位)
  list_names = ['ShenZhen','NanJing','BeiJing','YueYang','ChangSha','GuangZhou','ShaXian']
  list_names.append('Welcome')#默认追加到最后面
  print(list_names)
  运行结果:
  ['ShenZhen', 'NanJing', 'BeiJing', 'YueYang', 'ChangSha', 'GuangZhou', 'ShaXian', 'Welcome']
  插入:insert()
  list_names = ['1','NanJing','a','BB','中文','@','>','a']
  list_names.insert(2,'ShenZhen')
  print(list_names)
  运行结果:
  ['1', 'NanJing', 'ShenZhen', 'a', 'BB', '中文', '@', '>', 'a']
  修改:
  list_names = ['1','NanJing','a','BB','中文','@','>','a']
  list_names[1]='ShenZhen'
  print(list_names)
  运行结果:
  ['1', 'ShenZhen', 'a', 'BB', '中文', '@', '>', 'a']
  统计/拷贝/清除:count()()&clear()
  list_names = ['ShenZhen','NanJing','BeiJing','YueYang','ShenZhen','ChangSha','ShenZhen','GuangZhou','ShaXian']
  print(list_names.count('ShenZhen')) #.count统计某个元素个数
  list_copy=list_names.copy()
  print(list_copy) #把list_names列表内容拷贝给了list_copy.
  list_names.clear()
  print(list_names) #清空当前列表内的元素
  运行结果:
  3
  ['ShenZhen', 'NanJing', 'BeiJing', 'YueYang', 'ShenZhen', 'ChangSha', 'ShenZhen', 'GuangZhou', 'ShaXian']
  []
  删除番外篇
  list_del=['11','22','33','44','55','66','77','88','99']
  del list_del[2:5]#删除三到五
  print(list_del)
  运行结果:
  ['11', '22', '66', '77', '88', '99']
  拷贝番外篇:
  1、copy模块
  import copy  #运用模块
  list_copy=['11','22','33','44',['Shenzhen',['11','22'],'Guangzhou','Changsha'],'55','66']
  print(list_copy)
  list_deep=copy.deepcopy(list_copy) #深copy(看下面注解)
  list2=copy.copy(list_copy) #浅copy(看下面注解)
  list_copy[4][1][0]='aa'
  list_copy[2]='cc'
  print(list_copy)
  print(list_deep)
  print(list2)
  运行结果:
  ['11', '22', '33', '44', ['Shenzhen', ['11', '22'], 'Guangzhou', 'Changsha'], '55', '66']#原始数据
  ['11', '22', 'cc', '44', ['Shenzhen', ['aa', '22'], 'Guangzhou', 'Changsha'], '55', '66']
  ['11', '22', '33', '44', ['Shenzhen', ['11', '22'], 'Guangzhou', 'Changsha'], '55', '66'] #deepcopy结果
  ['11', '22', '33', '44', ['Shenzhen', ['aa', '22'], 'Guangzhou', 'Changsha'], '55', '66'] #浅copy结果
  2、copy()
  list_copy=['11','22','33','44',['Shenzhen',['11','22'],'Guangzhou','Changsha'],'55','66']
  list1=list_copy.copy()
  print(list1)
  list_copy[4][1][0]='aa'
  list_copy[2]='cc'
  print(list_copy)
  print(list1)
  运行结果:
  ['11', '22', '33', '44', ['Shenzhen', ['11', '22'], 'Guangzhou', 'Changsha'], '55', '66']
  ['11', '22', 'cc', '44', ['Shenzhen', ['aa', '22'], 'Guangzhou', 'Changsha'], '55', '66']
  ['11', '22', '33', '44', ['Shenzhen', ['aa', '22'], 'Guangzhou', 'Changsha'], '55', '66']
  注:
  深copy与浅copy
  共同点:不会因为列表的父层变动而变动
  不同点:子列表修改时,浅copy会跟随变动而变动,而深copy不会变动。
  以上是深copy与浅copy的整理,然后发现目前而言并没有什么卵用啊
  合并列表:extend()
  list_names = ['ShenZhen','NanJing',['11','22','33'],'YueYang','ChangSha','GuangZhou','ShaXian']
  list_extend=['aa','bb']
  list_names.extend(list_extend)
  print(list_names)
  运行结果:
  ['ShenZhen', 'NanJing', ['11', '22', '33'], 'YueYang', 'ChangSha', 'GuangZhou', 'ShaXian', 'aa', 'bb']
  反转&排序:reverse()&sort()
  list_names = ['1','NanJing','a','BB','中文','@','>']
  list_names.reverse()
  print(list_names)
  list_names.sort()#排序,数字>特殊字符>大写字母>小写字母>中文
  print(list_names)
  执行结果:
  ['>', '@', '中文', 'BB', 'a', 'NanJing', '1']
  ['1', '>', '@', 'BB', 'NanJing', 'a', '中文']
  获取下标:index()
  list_names = ['1','NanJing','a','BB','中文','@','>','a']
  print(list_names.index('a'))#只返回找到的第一个下标
  执行结果:
  2
  知识小结:
  1.pop()函数(列表使用方法)
  语法:
  list.pop(obj=list[-1])
  参数:
  obj:可选参数,要移除列表元素的对象
  返回值:
  改方法返回从列表中被移除的元素对象。
  实例:
  以下展示pop()函数的用法
  list_del=['11','22','33','44','55','66','77','88','99']
  print(list_del.pop(3))
  print(list_del.pop()) #用于移除列表中的一个元素,并返还该元素的值。这里小括号不填默认是最后一个
  运行结果:
  44
  99
  2.remove()函数(列表使用方法)
  用于移除列表中某个值的第一个匹配项
  语法:
  list.remove(obj)
  参数:
  obj:列表中要移除的对象
  返回值:
  该方法没有返回值,但是会移除两种中的某个值的第一个匹配项。
  实例:
  list_del=['11','22','33','44','55','66','77','88','99']
  list_del.remove('11') #删除指定元素
  print(list_del)
  list_del.remove('99')
  print(list_del)
  运行结果:
  ['22', '33', '44', '55', '66', '77', '88', '99']
  ['22', '33', '44', '55', '66', '77', '88']
  注:
  更多的字符串讲解,请关注后续的Python字符串的常用操作篇

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-547228-1-1.html 上篇帖子: 【16】Python文艺的三级菜单 下篇帖子: Python3.5修炼手册11-duyuheng
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表