【Python基础知识】Python通用序列操作

发布 : python培训      来源:python干货资料

2020-10-30 09:49:02

列表和字符串都是Python中的序列类型,它们有很多共同特性,如都可以进行“+”操作和“*”操作,都可以使用for循环迭代等。

为什么要使用序列呢?通过图中有序与无序的对比可能会得出答案,在很多情况下,有序的序列可能会更加方便操作。

序列是有序元素的集合。在计算机中,序列的一个典型示例就是在内存中保存数据,内存的地址是从小到大有序排列的,每一个地址存放一个数据,如图所示。

实际上,Python中的序列有一些操作是通用的,即可以用到每一种序列类型中。以下序列操作分别用列表和字符串举例。

1. min()函数和max()函数

min()函数和max()函数分别返回序列的最小项和最大项。

  1. >>> numbers = [15, -2, 3, 42, 102]
  2. >>> max(numbers)
  3. 102
  4. >>> min(numbers)
  5. -2
  6. >>> max('Python')
  7. 'y'
  8. >>> min('Python')
  9. 'P'

2. in和not in

使用in和not in操作符来判断某个子序列是否在该序列中:

  1. >>> 1 in [1, 2, 3]
  2. True
  3. >>> 4 not in [1, 2, 3]
  4. True
  5. >>> 'p' in 'Python' # Python区分大小写
  6. False
  7. >>> 'yth' in 'Python' # 不仅仅可以判断单个字符
  8. True

3. “+”和“*”

使用“+”操作符来拼接序列,使用“*”操作符来重复相加序列:

  1. >>> 'Py' + 'thon'
  2. 'Python'
  3. >>> 'I love you!' * 5
  4. 'I love you!I love you!I love you!I love you!I love you!'

列表的“+”操作与extend()方法类似,但是“+”操作不是就地操作,有返回值:

  1. >>> list1 = [1, 2, 3]
  2. >>> list2 = [4, 5, 6]
  3. >>> list3 = list1 + list2
  4. >>> list3
  5. [1, 2, 3, 4, 5, 6]
  6. >>> list4 = list1.extend(list2)
  7. >>> list4 # list4是None
  8. >>> list1 # list2追加到了list1上
  9. [1, 2, 3, 4, 5, 6]

包含数字的列表和包含字符串的列表进行“*”操作:

  1. >>> numbers_list = [1] * 3
  2. >>> strings_list = ['Python'] * 3
  3. >>> numbers_list
  4. [1, 1, 1]
  5. >>> strings_list
  6. ['Python', 'Python', 'Python']
  7. >>> numbers_list[0] = 3
  8. >>> strings_list[0] = 'C'
  9. >>> numbers_list
  10. [3, 1, 1]
  11. >>> strings_list
  12. ['C', 'Python', 'Python']

4. 索引和切片

索引和切片都是通用的序列操作,因此,不仅列表有索引和切片,字符串也有索引和切片:

  1. >>> word = 'Python'
  2. >>> word[0] # 第1个字符
  3. 'P'
  4. >>> word[-2] # 倒数第2个字符
  5. 'o'
  6. >>> word[:2] # 前2个字符
  7. 'Py'
  8. >>> word[:2] + word[2:] # 字符拼接
  9. 'Python'
  10. >>> word[-3:] # 后3个字符
  11. 'hon'

5. len()函数

len()函数用于获取序列的长度:

  1. >>> words = """Python is a programming language that lets you work quickly and integrate systems more effectively."""
  2. >>> len(words)
  3. 99
  4. >>> lists_ = ['Python', 312, []]
  5. >>> len(lists)
  6. 3

6. index()方法

序列中的index()方法用于查找第一个出现指定子序列的索引位置,如果不存在,那么会抛出ValueError异常:

  1. >>> word = 'banana'
  2. >>> word.index('a')
  3. 1
  4. >>> word.index('na')
  5. 2
  6. >>> word.index('an')
  7. 1
  8. >>> word.index('c')
  9. Traceback (most recent call last):
  10. File "", line 1, in
  11. ValueError: substring not found

index()方法也可以指定查找范围,即查找索引位置的起始值和结束值:

  1. >>> numbers = [3, 1, 4, 1, 5]
  2. >>> numbers.index(1)
  3. 1
  4. >>> numbers.index(1, 2)
  5. 3
  6. >>> word = 'banana'
  7. >>> word.index('a', 2, 4)
  8. 3

7. count()方法

不仅仅是列表,每一种序列类型都有count()方法:

  1. >>> word = 'banana'
  2. >>> word.count('a')
  3. 3
  4. >>> word.count('na')
  5. 2
  6. >>> word.count('c')
  7. 0
  8. >>> numbers = [1, 0, 1, 0, 1, 1]
  9. >>> numbers.count(0)
  10. 2
  11. >>> numbers.count(1)
  12. 4

如果对Python开发感兴趣或者想要深入学习的现在可以免费领取学习大礼包哦(点击领取80G课程资料 备注:领资料)。

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部