Python CookBook笔记——数据结构与算法

解压序列复制给变量

一、把含n个元素的数组赋值个n个变量

p = (4,5)
x,y = p
str = "x = {x}, y = {y}"
print(str.format(x = x, y = y))

输出结果:
‘x = 4,y = 5’

二、解压不确定元素个数的对象

p = (4,5,6,7,8,9,10)
x,y,*final = p
print(x)
print(y)
print(final)

result:
4
5
[6,7,8,9,10] #剩余的元素赋值给一个List

保留最后N个元素

'''使用collections模块中的deque(队列)实现'''
from collections import deque
p = [1,2,3,4,5,6,7,8,9]
queue = deque(maxlen = 3) #保留3个元素
for x in p:
    queue.append(x)
print(queue)

#result:
>'deque([8, 9, 10], maxlen=3)' #只保留了p中的最后3个元素,当向queue中增加元素时,若已满,则会清除已有的最老的元素。

查找最大或者最小的N个元素

import heapq
p = [12,231,143,121,5454,1,323,5454,11,33]
print(heapq.nlargest(3,p))
print(heapq.nsmallest(3,p))
# result:
> [5454, 5454, 323]
> [1, 11, 12]
> # heapq 是一个堆结构存储。同时能够进行设置key来用于复杂的数据结构.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值