博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
序列——列表和元组(二)
阅读量:5038 次
发布时间:2019-06-12

本文共 2337 字,大约阅读时间需要 7 分钟。

1、列表:Python的“苦力”

 1.1 list函数

  >>>list('Hello')

  ['H','e','l','l','o']

  注意,list函数适用于所有类型的序列,而不只是字符串。

  提示  可以使用''.join(somelist)将一个由字符组成的列表转换为字符串。

 1.2改变列表:元素赋值

  >>>x=[1,1,1]

  >>>x[1]=2

  >>>x

  [1,2,1]

  注意,不能为一个位置不存在的元素进行赋值。如果列表长度为2,那么不能为索引为100的元素进行赋值。

 1.3删除元素

>>>names=['Alice','Bech','Cecil','Dee-Dee','Earl']>>>del names[2]>>>names['Alice','Bech','Dee-Dee','Earl']

 1.4分片赋值

  程序可以一次为多个元素赋值,可以使用与原序列不等长的序列将分片替换

>>>name=list('Perl')>>>name[2:]=list('ar')>>>name['P','e','a','r']>>>name[1:]=list('ython')>>>name['P','y','t','h','o','n']#分片赋值语句可以在不需要替换任何原有元素的情况插入新的元素;>>>numbers=[1,5]>>>numbers[1:1]=[2,3,4]>>>numbers[1,2,3,4,5]#以此类推,通过分片赋值删除元素也是可以的>>>numbers[1:4]=[]>>>numbers[1,5]#上面的例子的结果和del numbers[1:4]的一样。也可以利用1之外的步长,甚至是负数进行分片。

 2、列表方法

  方法是一个与某些对象有紧密联系的函数,对象可能是列表、数字,也可能是字符串或者其他类型的对象。一般来说,方法可以这样进行调用:对象.方法(参数)

 2.1 append  该方法用于在列表末尾追新的对象:

>>>lst=[1,2,3]>>>lst.append(4)>>>lst[1,2,3,4]

 2.2 count 该方法统计某个元素在列表中出现的次数

1 >>>['to','be','or','not','to','be'].count('to')2 23 >>>x=[[1,2],1,1,[2,1,[1,2]]]4 >>>x.count(1)5 26 >>>x.count([1,2])7 1

 2.3 extend 该方法可以在列表的末尾一次性追加另一个序列中的多个值。换句话说,可以用心列表扩展原有的列表:

1 >>>a=[1,2,3] 2 >>>b=[4,5,6] 3 >>>a.extend(b) 4 >>>a 5 [1,2,3,4,5,6] 6 #这个操作看起来很像连接操作,两者最主要的区别在于:extend方法修改了被扩展的序列a。#而原始的连接操作则不然,它仅仅会返回一个全新的列表: 7 >>>a=[1,2,3] 8 >>>b=[4,5,6] 9 >>>a+b10 [1,2,3,4,5,6]11 >>>a12 [1,2,3]13 #当然也可以如下操作,但是连接操作的效率会比extend方法低。14 >>>a=a+b15 #我们可以使用分片赋值来实现相同的结果:16 >>>a=[1,2,3]17 >>>b=[4,5,6]18 >>>a[len(a):]=b19 >>>a20 [1,2,3,4,5,6]21 #虽然以上操作也可以,但是代码的可读性不如extend方法了

 2.4 index 该方法用于从列表中找出某个值第一个匹配项的索引位置:

>>>knights=['we','are','the','knights','who','say','in']>>>knights.index('who')4>>>knights.index('herring')valueError: list.index(x):x not in list#获取不存在于列表中的元素索引会抛错

 2.5 insert 该方法用于将对象插入到列表中:

1 >>>numbers=[1,2,3,5,6,7]2 >>>numbers.insert(3,'four')3 >>>numbers4 [1,2,3,'four','5,6,7]5 #与extend方法一样,insert方法的操作也可以用分片赋值来实现。6 >>>numbers=[1,2,3,5,6,7]7 >>>numbers[3:3]=['four']#不可以写成numbers[3:3]='four',否则结果变成[1,2,3,'f','o','u','r',5,6,7] 8 >>>numbers 9 [1,2,3,'four',5,6,7]

 2.6 pop 该方法会移除列表中的一个元素(默认是最后一个),并且返回该元素的值:

1 >>>x=[1,2,3]2 >>>x.pop()3 34 >>>x5 [1,2]6 >>>x.pop(0)7 18 >>>x9 [2]

  pop方法是唯一一个既能修改列表又返回元素值(除了None)的列表方法。[None,None].pop()就不会返回值。

pop和append方法的操作结果恰好相反,如果入栈刚刚出栈的值,最后得到的结果还是原来的栈:

  >>>x=[1,2,3]

  >>>x.append(x.pop())

  >>>x

  [1,2,3]

 

转载于:https://www.cnblogs.com/allen0/p/7096621.html

你可能感兴趣的文章
【工具】【截图工具】FScapture,支持滚动
查看>>
jQuery延迟加载(懒加载)插件 – jquery.lazyload.js
查看>>
人脸检测(1)——HOG特征
查看>>
react native 示例代码
查看>>
关于V1.6.0版本的项目总结
查看>>
想想还要做哪些事。。。
查看>>
python字典顺序转字符串
查看>>
面试题思考:web中关于一些容器基本概念的简单总结
查看>>
计算机专业顶级学术会议
查看>>
无乱码截取字符串,中英文混合(转)
查看>>
python-13常用内建模块
查看>>
【Spring】Spring系列7之Spring整合MVC框架
查看>>
POJ2195&&HDU1533(KB11-D 最小费用最大流)
查看>>
symfony2 表单
查看>>
微信小程序调用后台接口+热点新闻滚动展示
查看>>
【实例解析】某水泥企业应用商业智能提升管理效率
查看>>
如何利用自定义函数把阳历转换成阴历
查看>>
declare和typeset DEMO
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>