python序列处理函数

len() 、max()、min( )

字符串、list、tuple都属于序列;字典不属于序列,属于映射的数据结构,但是这三个函数也仍然适用于字典的数据结构。

>>> s
'hello world'
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> t
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> max(s)
'w'
>>> max(l)
9
>>> max(t)
9
>>> min(s)
' '
>>> min(l)
0
>>> min(t)
0
>>> len(s)
11
>>> len(l)
10
>>> len(t)
10

三个函数也可以运用于字典这种数据结构。

>>> d = {'a':s, 'b':l, 'c':t, 'd':s}
>>> d
{'a': 'hello world', 'c': (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), 'b': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'd': 'hello world'}
>>> max(d) #字典的最大的key
'd'
>>> min(d) #字典最小的key
'a'
>>> len(d)
4

zip

zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)]

Return a list of tuples, where each tuple contains the i-th element
from each of the argument sequences.  The returned list is truncated
in length to the length of the shortest argument sequence.

zip函数参数为任意数量(0个或0个以上)的序列,生成的结果如上面所示,返回值为一个list,list的每一个item都是一个元组。生成结果list的长度与所有参数序列的最小的len一致。

>>> l1 = [1, 2, 3]
>>> l2 = ['a', 'b', 'c']
>>> l3 = [4, 5, 6]

>>>> zip() #接收0个序列参数
[]
>>> zip(l1) #接收一个序列参数
[(1,), (2,), (3,)]
>>> zip(l1, l2)
[(1, 'a'), (2, 'b'), (3, 'c')]
>>> zip(l1, l2, l3)
[(1, 'a', 4), (2, 'b', 5), (3, 'c', 6)]

序列参数的长度也可以不一致,但是生成结果list的长度与所有参数序列的最小的len一致。l1len为3,l4的len为5,那么生成结果的len为3。
注:map函数就不一样了,长度会自动用None自动补全, 生成结果的len为5

>>> l1 = [1, 2, 3]
>>> l4 = [4, 5, 6, 7, 8]
>>> zip(l1, l4)
[(1, 4), (2, 5), (3, 6)]
>>> map(None, l1, l4) 
[(1, 4), (2, 5), (3, 6), (None, 7), (None, 8)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值