Python数据类型(3)序列的通用操作

序列

序列对象中的元素都是有序存放的,可以通过编号访问其元素。列表,元组,字符串都是序列对象。由于序列的操作具有一定的共性,因此这里介绍列表,元组,字符串的通用操作。


1、索引

索引是访问序列对象的主要方式,即通过位置编号引用序列中元素。索引一般为整数,放在方括号中

这里定义了一个字符串  str='abcdef'

字符串元素与位置编号的关系:

                                      正位置编号       0     1     2     3     4     5

                                      列表元素           a     b     c     d     e      f

                                      负位置编号       -6    -5   -4    -3    -2    -1

索引操作示例:

>>> str='abcdef'              #定义字符串
>>> str[1]                    #索引访问从左至右第二个
'b'
>>> str[-1]                   #索引访问从右往左第一个
'f'
>>> str[10]                   #超出索引范围,报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range

2、分片

分片是从序列中切出部分元素的操作。

格式1:list[a:b],返回索引a~b-1之间的元素,默认步长为一。

格式2:list[a:b:c],返回索引a~b-1(或+1 当c为负数时)之间间隔为c的元素。c可为正可为负,c为负时表示逆序分片。

>>> mylist=[1,2,3,4,5,6]
>>> mylist
[1, 2, 3, 4, 5, 6]
>>> mylist[0:3]     #返回索引0~2(2即3-1)的元素
[1, 2, 3]
>>> mylist[1:3]     #返回索引1~2(2即3-1)的元素
[2, 3]
>>> mylist[0:5:2]   #返回索引0 2 4(0,0+2,0+2+2)的元素
[1, 3, 5]
>>> mylist[5:0:-1]  #返回索引5~1(1即0+1)的元素
[6, 5, 4, 3, 2]
>>> mylist[:]       #省缺开始结束位置时
[1, 2, 3, 4, 5, 6]
>>> mylist[::-1]    #可以用分片完成逆序
[6, 5, 4, 3, 2, 1]

3、序列加

序列加是连接两个序列的操作,将两个序列连成一个序列。只有同类型的序列才能相加。

>>> str1='abcd'
>>> str2='efgh'
>>> str1+str2        #序列相加
'abcdefgh'
>>> mylist=[1,2,3]
>>> mulist+str1      #不同类型序列相加,报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'mulist' is not defined

4、序列乘

序列乘也用于扩充序列,序列乘n得到一个重复n次的序列

>>> str1='abc'
>>> str1
'abc'
>>> 5*str1
'abcabcabcabcabc'
>>> str1*5
'abcabcabcabcabc'
>>> [str1]*3         #[str1]将str1变成列表,然后列表乘3     
['abc', 'abc', 'abc']

5、成员资格

成员资格用于检查一个元素是否属于一个序列,通常用in运算符检测成员资格

>>> 'b' in 'beixifen'  #字符串检验成员资格
True
>>> 1 in (1,2,3)       #元组检验成员资格
True
>>> 2 in [4,5,6]       #列表检验成员资格
False

6、序列的内置函数

>>> min([1,2,3,9,8,7])              #求最小
1
>>> max([1,23,9,5,6])               #求最大
23         
>>> len('beixifen')                 #求长度
8
>>> max(['a','b','c'])              #按ASCII码
'c'
>>> for i,v in enumerate('abc'):    #enumerate函数返回序列的编号和元素
...     print(i,v)
...
0 a
1 b
2 c

参考文献:秦颖.Python实用教程.北京:清华大学出版社,2016.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值