python学习之序列

python中序列

在新学习python的过程中接触到了序列一词,特地进行博客记录。

  1. python序列
    python中的序列,指的是在内存中连续存储多个值,按一定顺序排序,能根据索引访问序列中元素。序列类型有:字符串(str)、列表(list)、集合(set)、元组(tuple)和字典(dict),但特殊的是,集合和字典不支持索引、切片、相加和相乘的操作。
  2. 序列的索引
    序列的索引是根据标号,通常形式为:
seq[index]

和我们c/c++相同的是,索引都是从0开始,向后递增到n-1结束,不过不同的是,python支持逆序索引,就是从最后面,即-1开始索引,向后递减。
集合是无序、不重复序列,所以不支持寻常索引;字典则是键值对结构,访问时是根据对应键得出相应值,同样不支持索引。
3. 序列的切片
切片是范围访问序列的方法,通过划定范围,可以根据现有序列得到新序列。形式如下:

seq[start:end:step]

start,表示起始索引值;
end,结束索引值(不包含此位置),你可以直接理解为第end个元素;
step,步长,指得到的新序列中元素在旧序列中间隔。
例子:

>>> a=list(range(10))#range函数得到从0到10的列表a
>>> a		#输出列表a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> b=a[0:6:2]#切片得到列表b,从0到6前一个元素(或者你看成第六个),步长为2
>>> b		#输出列表b
[0, 2, 4]

具体使用还有:

>>> a=list(range(6))
>>> a
[0, 1, 2, 3, 4, 5]
>>> a[0:]	#获取a列表从0开始的切片,结束默认为最后
[0, 1, 2, 3, 4, 5]
>>> a[0:10]	#获取a列表从0开始到10为终结的切片(end可大于实际值)
[0, 1, 2, 3, 4, 5]
>>> a[:10]	#获取a列表持续到10的切片,start默认为0
[0, 1, 2, 3, 4, 5]
>>> a[0:10:-1]	#当步长为负值,即从后面往前面索引,前面的从start到end却是顺序,所以没有值
[]
>>> a[5:0:-1] #从5到0前面一个,步长为-1,逆序
[5, 4, 3, 2, 1]

此外python还有内置切片类(slice),不过这个是后话,此处不叙。
4. 序列的相加
序列间可用"+"相连接

>>> a
[0, 1, 2, 3, 4, 5]
>>> a + [0,1,2]
[0, 1, 2, 3, 4, 5, 0, 1, 2]
>>>
  1. 序列的相乘
    和上面的等同,用’*'达到多个序列的效果
>>> a*3
[0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5]
>>>
  1. 序列通用操作
    len(),获取长度
    max(),或许序列最大元素,根据ASCII进行大小比较
    min(),获取序列最小元素,根据ASCII进行大小比较
    使用None创建定长空序列:
>>> b=10*[None]	#简单来说,就是b是列表[None]乘10操作所得
>>> b
[None, None, None, None, None, None, None, None, None, None]

in,检查序列是否包含某元素

>>>x in seq
>>>True#或者False

简单记录到此结束,上述仅为现下所学,如有不足,请指出,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值