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

[经验分享] Python学习系列-列表

[复制链接]

尚未签到

发表于 2017-4-28 11:50:26 | 显示全部楼层 |阅读模式
  [导读]列表是Python程序设计中使用最为频繁的数据类型。列表是程序中一组有序数据的集合,可以包含其他各种类型的数据以及它本身。<br\>列表的增删改查操作以及操作的效率在程序设计中起到了至关重要的作用。



目录[-]



  • 声明与创建
  • 访问元素
  • 增加元素
  • 删除元素
  • 修改元素
  • 查找元素
  • 其他操作



声明与创建 DSC0000.jpg

  列表是Python程序设计中使用最为频繁的数据类型。列表是程序中一组有序数据的集合,可以包含其他各种类型的数据以及它本身。<br\>


  • 列表的声明与创建是使用逗号","把不同的数据项分割开来,并使用括号括起来就可以。同Java一样,
    字符串的默认索引值是从0开始。我们可以使用索引值增删改查指定索引的数值。
  • 列表的创建可以使用Python内置函数list来实现;list的作用是将一个序列转换为列表。
  举例说明:

#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
print "列表内置列表式定义:"
li=[1,2,3,[4,5]]
print li;
print "根据已有序列生成列表:"
msg="hello world"
li=list(msg);
print li;



访问元素



  • Python列表的访问可以通过元素索引进行访问,也可以使用切片方式进行访问。
  • 切片方式的语法为L[[start]:[end][:step]]

    • start可以不设定,默认为0
    • end可以不设定,默认为最大索引值。也可以为负数,表示最大索引值减去该负数的绝对值.
    • step可以不设定,默认为1;表示步长



#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
print "列表内置列表式定义:"
li=[1,2,3,[4,5]]
print li;
print "获取索引2的元素:"
print li[2]
print "通过切片方式获取元素:"
print "1-start不设定:"
print li[:3]
print "2-end不设定:"
print li[1:]
print "3-end为负值:"
print li[1:-1]
print "2-step为2:"
print li[::2]

  通过切片访问元素时时,索引值获取的元素是半封闭的,只获取到索引值为[start,end)内的元素。



增加元素

  增删改查是列表不可或缺的操作,是列表的基础,同时也是程序设计中必然涉及到的操作。元素的增加有以下几种方式:


  • 通过逻辑运算符"+"进行操作。
  • 通过内置函数append,append的参数作为新列表中的一个元素.
  • 通过内置函数insert,insert的参数为指定在指定的索引添加的数值.当索引值大于最大索引值时在最后添加该数值。
  • 通过内置函数extend,extend 等价于"+"运算符
  举例说明:

#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
print "逻辑运算符+连接两个列表:"
li=[1,2,3]+[4,5,6]
print li
print "使用内置方法append:"
li.append([7,8,9])
print li
print "使用内置方法insert:"
li.insert(100,9)
print li
print "使用内置方法extend:"
li.extend([1,2,3])
print li



删除元素

  删除元素是将列表中的某个元素或某些元素删除。元素的删除有以下几种方式:


  • 使用内置方法del按照元素的索引删除某个元素
  • 使用内置方法del删除方括号截取的某些元素。
  • 使用内置方法remove按照元素的值删除某个元素。
  • 使用内置方法pop按照元素的索引删除某个元素并返回该元素的值;若不给定元素的索引,默认删除最后一个元素.
  举例说明:

#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
print "逻辑运算符+连接两个列表:"
li=[0,1,2,3,4,5,6,7,8,9]
print li
print "删除第3个元素:"
del li[3]
print li
li=[0,1,2,3,4,5,6,7,8,9]
print "删除第4到第7个元素:"
del li[4:8]
print li
li=[0,1,2,3,4,5,6,7,8,9]
print "删除值为8的元素:"
li.remove(8)
print li
li=[0,1,2,3,4,5,6,7,8,9]
print "使用pop方法:"
li.pop(4)
print li
li.pop()
print li



修改元素

  修改元素的值可以修改某个元素,也可以修改某些元素。


  • 按照元素的索引值修改某个元素的值
  • 根据切片修改某一些元素的值,原理和上面的一直
  举例说明:

#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
li=[0,1,2,3,4,5]
print "修改所以值为3的元素的值:"
li[3]=10
print li
li=[0,1,2,3,4,5]
print "修改【2,5)的值:"
li[2:5]=[100,200]
print li



查找元素


查找元素一般用于判断或者统计某个元素的出现次数,再或者某个元素的索引值。下面我们来一一学习者几种情况:

  • 判断某个值是否是列表的元素:使用关键字in/not in
  • 统计某个值出现的次数,使用内置函数count
  • 查找某个元素的索引值,使用内置函数index
  举例说明:

#-*-coding:utf-8-*-
'''
Created on 2015年10月24日
@author: Administrator
'''
li=[0,1,2,3,4,5,1,4]
print "判断值3是否在列表中:"
print 3 in li
print "判断值10是否在列表中:"
print 10 in li
print "4出现的次数:"
print li.count(4)
print "10出现的次数:"
print li.count(10)
print "4的索引值:"
print li.index(4)
#值4不存在于列表中,程序抛出ValueError
#print li.index(10)



其他操作



  • 清空列表:1)直接置空:li=[] 2)内置函数del li[[start]:[end]]
  • 赋值列表:1)li2=li[:]
  • 列表长度:len(li)
  • 便利列表:

    • 直接for循环:for value in list

    • 遍历索引值:for index,value in enumerate(list)




运维网声明 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-370393-1-1.html 上篇帖子: python之httplib模块 下篇帖子: Extending and Embedding the Python Interpreter(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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