您的位置:首页 > 编程语言 > Python开发

python数据类型(python cookbook读书笔记一)

2017-01-06 21:35 141 查看
    1.序列赋值

  将一个序列中的数赋值给多个变量的语法>>> l = (1, 2, 3, 4)
>>> s, a, d, x = l
>>> s
1
>>> a
2
>>> d
3
>>> x
4如果变量数和序列中值不匹配,会报错
>>> l = (1, 2, 3, 4)
>>> s, a, d = l
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 3)

    2.*号赋值
如果我们想让a为(2, 3)那么我们应该怎么写呢

>>> l = (1, 2, 3, 4)
>>> s, *a, d = l
>>> s
1
>>> a
[2, 3]
>>> d
4
>>>

    3.查找最大或最小的N歌元素
此处介绍一个模块heapq

该模块提供了一些堆算法,查找最大或最小的N个元素的函数就是基于堆实现

  查找最大的N个元素

  函数nlargest(N,
list)
>>> s = [1,43,12,235,55,21,55,112]
>>> heapq.nlargest(5, s)
[235, 112, 55, 55, 43]
>>>参数N即元素的个数,list则是目标序列
  查找最小的N个元素

 
函数nsmallest(N, list)

>>> s = [1,43,12,235,55,21,55,112]
>>> heapq.nsmallest(5, s)
[1, 12, 21, 43, 55]
>>>
参数含义相同
   
4.zip()函数

zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。需要注意,zip()函数创建的是一个只能访问一次的迭代器

>>> s = zip([1,2,3], [2,3,4,5])
>>> s.__next__()
(1, 2)
>>> s.__next__()
(2, 3)
>>> s.__next__()
(3, 4)
>>> s.__next__()

zip()搭配*号可以将zip过的序列还原
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: