使用python操作字符串时,你可以使用像操作列表一样进行切片索引,你觉得奇怪不?是有点奇怪,怎么能这么方便,其实这是因为python的字符串就是一个内建的序列。Python2中包含的6个内建序列分别是列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。本文地址:http://www.04007.cn/article/990.html,未经许可,不得转载.
序列通用的操作包括:索引、长度、组合(序列相加)、重复(乘法)、分片、检查成员、遍历、最小值和最大值。因为既然字符串内建也是序列,也可以对字符串进行分片甚至取得最大值最小值。虽然Python有这么多个序列内置类型,但最常见的还是列表和元组。根据Python官方对序列的定义,一个序列对象不必要保存所有的元素。但至少需要实现__len__方法(返回序列长度)和__getitem__方法(返回序列中下标为index的元素的值)。本文地址:http://www.04007.cn/article/990.html,未经许可,不得转载.
上面的序列中除了xrange之外的所有序列类型都有一个共同的特点,就是当序列对象创建时,都需要开辟内存空间,保存序列所有元素。而range与xrange之间的区别就在于此。range方法返回的是一个list对象,它需要开辟专门的空间保存序列中所有的元素。而xrange方法返回的是xrange对象,它是一个序列对象,但并不保存序列中的元素。其实现方法与本文介绍的MyRange类型类似。本文地址:http://www.04007.cn/article/990.html,未经许可,不得转载.
不过这一情况在python3中有些变化,但在python3中使用xrange时你会碰到报错NameError:name ‘xrange’ is not defined,因为在Python3中,range()与xrange()进行了合并,成为新的range()。因此从此忘了xrange()吧,Python3中只有range()。本文地址:http://www.04007.cn/article/990.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/990.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |