python学习[第五篇] 数据类型之 序列

Posted ryanpan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习[第五篇] 数据类型之 序列相关的知识,希望对你有一定的参考价值。

序列定义

序列中的成员是有序排列的,并且可以通过下标偏移量访问到他的一个或者几个成员。 包括:字符串,列表和元组。

序列类型有相同的访问模式,他的每一个元素可以通过指定一个偏移量的方式得到,而多个元素可以通过切片操作的方式一次得到。下标偏移量从0开始到总元素-1.

序列操作符

1 标准类型操作符

对象值的比较:   < 、>、 <=、 >=、 ==、 != 、<>

对象身份比较:   is 、is not

布尔操作符:       not 、and、 or

2序列类型操作符

#成员关系操作符(in 、 not in)
sub_seq in sequence
sub_seq not in sequece
#连接操作符
sequence1+sequence2
#重复操作符
sequence * copies_int
#切片操作符([][:][::])
#访问单一元素 index 可以为正数或复数  但是有范围要求,如果越界会报错误IndexError: string index out of range
#index 为正数时, 0<= index <=len(sequence)-1
#index 为负数时,-len(sequence)<=index<=-1 
sequence[index]
#访问多个元素 切片操作 如果start 和end没有指定则为None作为索引值
sequence(start:end)
#带步长的切片操作 步长可正可负 步长为负时start和end也应为负 start和end可以超过字符串的长度
sequence(start:end:step)
s[::-1]字符串反转
s[::2] 隔一个取一个
[abc,def,ghi][-100:100]
#循环显示字符串,每次删除最后一个字符
a=abcde
for i in [None]+range(-1,-len(a),-1):
    print a[:i]

[None].extend(...)返回None,None既不是序列也不是可迭代对象.

序列内建函数

可迭代对象:可以通过for循环遍历所有元素的可迭代类型

1 类型转换内建函数(工厂函数)

list(iter) tuple(iter)  str(obj)   unicode(obj)   ###basestring()

list(1234)
[1, 2, 3, 4]
tuple(1234)
(1, 2, 3, 4)
str(1234)
1234
unicode(1234)
u1234

2 可操作内建函数

enumerate() max() min() reversed() sorted() sum () zip()

#enumerate() 接受可迭代对象作为参数,返回一个enumerate对象,该对象生成由iterm每个元素的index值和item值组成的元组
for x in enumerate(xyz):
    print x
(0, x)
(1, y)
(2, z)
# len 返回字符串的长度
len(xyz)
3

#max 返回iter或 (arg0,arg1..)中的最大值 key是函数,可以不指定
max(iter,key=None)
max(arg1,arg2,key=None)
max(abc)  
c
max(abc,def)
def
#min 返回iter或 (arg0,arg1..)中的最小值
min(iter,key=None)
min(arg1,arg2,key=None)

#reversed 接收 一个iter参数,逆序返回一个reversed对象
x=abc
y=reversed(x)
<type reversed>
type(y)
for z in y:
    print z
c
b
a
#sorted 接收iter参数,可指定 reverse=False/True, 返回一个有序的列表 
sorted(iter,func=None,key=None,reverse=False)
x=sorted(abc,reverse=True)
print x 
[c, b, a]

#zip返回一个列表,其第一个元素是it0,it1这些第一个元素组成的一个元组,第二个类推
zip(iter1,iter2,iterN)
zip(abc,def,ghi)
[(a, d, g), (b, e, h), (c, f, i)]

#sum函数 返回iter和可选参数init的总和 (字符串不可以做参数,数字不可以做参数,数字字典和数字元组可以)
sum(iter,init=0)
sum([12,34])
46
sum([12,34.1],1)
47.1

 

以上是关于python学习[第五篇] 数据类型之 序列的主要内容,如果未能解决你的问题,请参考以下文章

python学习之路基础篇(第五篇)

Python 学习日记第五篇 -- collections系列

博客目录

第五篇Python基本数据类型

Python成长之路第五篇:Python基础之模块

python学习第五篇 常用模块