列表、元组以及字符串
来源:互联网 发布:南泥湾种鸦片 知乎 编辑:程序博客网 时间:2024/06/05 04:42
最近在开始学习python,看到了列表、元组和字符串这三种序列,觉得它们之间还是有一些需要区分的地方,所以总结一下:
在看到的代码之中,可以一眼就区分开这三种序列,列表是形如[1,2,3]这样的一种序列,它里面的元素可以是数字、字符、字符串(甚至是其他类型的序列,这是一些比较灵活的使用方式);而元组是形如(1,2,3)这样的序列;至于字符串就是形如'abcdef'。对于这三种序列,它们之间最明显的区别就是,列表是可变的而元组和字符串是不可变的,所以如果给后面两种序列进行索引赋值就会产生错误:
>>> a=(1,2,3)>>> a[1]=3Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'tuple' object does not support item assignment
>>> a='123'>>> a[1]='3'Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: 'str' object does not support item assignment但是列表可以改变其中的内容:
>>> a=[1,2,3]>>> a[1]=3>>> a[1, 3, 3]所以,如果要需要一个动态序列,列表就是一个非常好的选择
这三个序列都有着自己的方法:
列表方法:
1.append:用于列表末尾添加对象
>>> a=[1,2,3]>>> a.append(4)>>> a[1, 2, 3, 4]这个方法是直接改变原来的列表而不是重新返回一个新列表,在使用的时候需要注意这一点
2.count:用于统计某一个元素的个数
>>> a=[1,2,1,3,4,1]>>> a.count(1)3>>> a.count(2)1
3.extend:append的升级版,可以在序列的末尾增加多个值
>>> a=[1,2,3]>>> a.extend(2,3)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: extend() takes exactly one argument (2 given)>>> a.extend([2,3])>>> a[1, 2, 3, 2, 3]
在添加值的时候,不能直接以多个值作为参数,而是应当将要添加的值写成列表的形式,其实与列表的连接比较像,但是,这个函数是直接改变原列表的值而不是构建新的列表。
4.index:索引的功能,返回第一个匹配项的位置
>>> a[1, 2, 3, 2, 3]>>> a.index(2)1从0开始算起。如果未找到,会引发异常。
5.insert:插入对象到指定的位置
>>> a[1, 2, 3, 2, 3]>>> a.insert(2,5)>>> a[1, 2, 5, 3, 2, 3]前一个参数是位置信息,后一参数是插入的值
6.pop:移除最后一个元素并返回(栈)
>>> a[1, 2, 5, 3, 2, 3]>>> a.pop()3>>> a[1, 2, 5, 3, 2]7.remove:移除第一个匹配项
>>> a[1, 2, 5, 3, 2]>>> a.remove(2)>>> a[1, 5, 3, 2]同样,如果找不到匹配项,则会返回异常
8.reverse:反向存放
>>> a[1, 5, 3, 2]>>> a.reverse()>>> a[2, 3, 5, 1]9.sort:原位置排序
>>> a[2, 3, 5, 1]>>> a.sort()>>> a[1, 2, 3, 5]经常用到的方法就是以上的9种,其中append、extend、insert、remove、reverse、sort都是直接在原来的列表的基础上进行操作并没有返回值,但是原列表的值都已经并改变,在使用的时候需要注意这一特性。
元组方法
因为元组的值是不能修改的,所以它的操作比较简单,无非就是list等操作,不作赘述。
字符串方法
因为字符串从string中继承了很多方法,所以能够使用的方法还是比较丰富的。
1.find:查找子字符串,返回子串最左端索引,找不到则返回-1
>>> a='adcdefg'>>> a.find('cde')2>>> a.find('ce')-1还可以在find中第二个和第三个参数加入可选的起点和结束点
2.join:用于在字符串中添加元素
>>> a='abc'>>> b='+'>>> b.join(a)'a+b+c'>>> c=['ab','cd','ef']>>> b.join(c)'ab+cd+ef'如上所示,可以直接在字符串中添加也可以在字符串列表当中添加,产生的结果是不一样的。
3.lower:可以返回字符串的小写版
>>> a='ABCd'>>> print a.lower()abcd>>> a'ABCd'值得注意的是,原字符串的值并没有改变,只是返回了一个新的字符串(印证了字符串的不可变性)
4.replace:将匹配项替换后返回新串
>>> a'ABCd'>>> a.replace('C','c')'ABcd'5.split:join的逆方法
>>> '1+2+3+4'.split('+')['1', '2', '3', '4']比较常用的方法就是这些了,当然还有很多没有列出的方法也会经常用到,有待以后的进一步学习。
0 0
- 列表、元组以及字符串
- Python 中数据结构以及操作列表、元组、字符串、字典
- python: 列表以及元组
- 字符串、列表、字典、元组
- 列表、元组和字符串
- python---字符串、列表、元组
- python字符串,元组,列表
- 字符串,列表,元组,字典
- 元组、列表、字符串以及切片的一些小操作记录
- 序列:字符串,列表,元组,字典
- python列表、元组、字典、字符串操作
- python序列:字符串,元组和列表
- python 学习笔记:字符串,列表,元组
- Python序列:字符串、列表和元组
- python 序列:字符串、列表和元组
- 第五课 列表、元组与字符串
- Python序列:字符串、元组、列表
- 6.序列:字符串、列表和元组
- 《性能测试》之理发店模型
- iOS代理设计模式
- Django入门:python manage.py dbshell错误
- Stay Hungry. Stay Foolish.
- 克里斯航沥斯夫斯基定律------------原创
- 列表、元组以及字符串
- cygwin 2.8.74版本离线包(分别为win7 32和64位)
- xml解析工具类
- #NOIP 2014#day.2 T1 无限网络发射器选址
- 09.树.二叉树
- node.js
- PAT 1020Are They Equal (25)
- 渗透测试攻防练习实验室 (资源分享,国外在线教程)
- 原生js判断浏览器与平台