python学习之序列
1.序列(列表、元组、字符串):
列表、远组、字符串有共同点:都可以通过索引得到每一个元素;默认索引值从0开始;可以通过分片的方法得到元素集合;有共同操作符(+,*,in/not in)
2.序列常见的内置方法:
1)list()把一个可迭代对象转化为列表:list()无参数,生成空列表;list(参数);
#list 不带参数
a=list()
print(a)
#list 带参数,把字符串转化成数组
b='i love zoe'
print(list(b))
#把元组转换成数组
c = (1,2,3,4,5,6,7,8)
print(list(c))
2)tuple()把一个可迭代对象转化成元组;
#tuple() 把对象转换为元组
a= 'i love u'
print (tuple(a))
3) str(obj)把obj对象转换为字符串
#str()把对象转化为字符串
m = ['i','love','u']
print(str(a))
4) len(sub)返回sub的长度
a='hhahhahah'
print(len(a))
5) max()返回序列或者参数中的最大值,无论数组、字符串、元组,需要是同种类型才能使用
6) min()返回序列或者参数中的最小值,无论数组、字符串、元组,需要是同种类型才能使用
7) sum()返回和,只能是同种类型可以使用,可以求和,也可以加项
c = (1,2,3,4,5,6,7,8)
print(sum(c,5))
print(sum(c))
8)sorted(),返回排序列表,默认从小到大排序;使用放大类似于内置函数:list.sort()
9) reversed(),返回迭代器对象,可以通过list把迭代器对象间接转化为列表、实现的结果是逆转序列
reversed(c) 的执行结果:<reversed object at 0x10834fc18>
list(reserved(c))转化成列表
10) enumerate()枚举,生成由每个元素和索引组成的元组,也是返回迭代器对象,需要用list强制转换为列表
c = (1,2,3,10,4,5,6,7,8)
list(enumerate(c)) 结果:[(0, 1), (1, 2), (2, 3), (3, 10), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8)]
11)zip()返回由各个元素序列对应组成的元组;注意,如果一个序列数量少的话,匹配按照数量少的匹配;
m = [1,3,4,6,7,8,9,0]
n = [9,8,7,5]
print(list(zip(m,n)))
结果:
[(1, 9), (3, 8), (4, 7), (6, 5)]
a= 'i love u'
b='i love zoe'
c = (1,2,3,4,5,6,7,8)
m = [1,3,4,6,7,8,9,0]
n = [9,8,7,5]
p = (a,b,c)
print(list(zip(m,p,n)))
结果:
[(1, 'i love u', 9), (3, 'i love zoe', 8), (4, (1, 2, 3, 10, 4, 5, 6, 7, 8), 7)]