当前位置: 首页 > news >正文

网站建设发展趋势最有吸引力的营销模式

网站建设发展趋势,最有吸引力的营销模式,漳州网站建设公司首选公司,河北建站公司文章目录py3中 collections 的常用STL**Counter()** 函数**defaultdict()** 函数**deque()** 函数**orderedDict()** 函数(缺例题)小结py3中 collections 的常用STL 对于这个工具包非常好用,尤其是其中的 Counter() 函数 使用次数颇为频繁&a…

文章目录

  • py3中 collections 的常用STL
    • **Counter()** 函数
    • **defaultdict()** 函数
    • **deque()** 函数
    • **orderedDict()** 函数(缺例题)
  • 小结

py3中 collections 的常用STL

对于这个工具包非常好用,尤其是其中的 Counter() 函数 使用次数颇为频繁,现在对collections中的一些常用的容器函数进行梳理总结。
主要包括:
Counter() 函数,defaultdict() 函数,deque() 函数,orderedDict() 函数。将结合一些LC上的例题进行一个简单总结。
参考文档链接为:https://docs.python.org/3.8/library/collections.html

Counter() 函数

Counter() 函数功能非常强大,主要用于是计算散列对象的dict子类,有点抽象,也不知道百度翻译说的对不对,原为是:dict subclass for counting hashable objects,Counter()函数下的函数方法最常用的是:elements() 方法、most_common()方法,另外像 values() ,items(),del等,都非常实用,具体可以参见 Counter的文档。在此就不举例了,LC的例题将选择一道既包含Counter(),又包含defaultdict()的困难题。

defaultdict() 函数

dict subclass that calls a factory function to supply missing values,一个强大的字典存储器,有点像C++中的自定义数据类型。非常好用,也非常常用,常用的内置函数主要有:append()、items()、values(),具体参见defaultdict文档。

举一个LC上的例题:
题目链接:895. 最大频率栈
题目大意:设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。
实现 FreqStack 类:

  • FreqStack() 构造一个空的堆栈。
  • void push(int val) 将一个整数 val 压入栈顶。
  • int pop() 删除并返回堆栈中出现频率最高的元素。如果出现频率最高的元素不只一个,则移除并返回最接近栈顶的元素。

注意:(1)0 <= val <= 109;(2)push 和 pop 的操作数不大于 2 * 104;(3)输入保证在调用 pop 之前堆栈中至少有一个元素。

示例:

输入:
["FreqStack","push","push","push","push","push","push","pop","pop","pop","pop"],
[[],[5],[7],[5],[7],[4],[5],[],[],[],[]]
输出:[null,null,null,null,null,null,null,5,7,5,4]
解释:
FreqStack = new FreqStack();
freqStack.push (5);//堆栈为 [5]
freqStack.push (7);//堆栈是 [5,7]
freqStack.push (5);//堆栈是 [5,7,5]
freqStack.push (7);//堆栈是 [5,7,5,7]
freqStack.push (4);//堆栈是 [5,7,5,7,4]
freqStack.push (5);//堆栈是 [5,7,5,7,4,5]
freqStack.pop ();//返回 5 ,因为 5 出现频率最高。堆栈变成 [5,7,5,7,4]。
freqStack.pop ();//返回 7 ,因为 5 和 7 出现频率最高,但7最接近顶部。堆栈变成 [5,7,5,4]。
freqStack.pop ();//返回 5 ,因为 5 出现频率最高。堆栈变成 [5,7,4]。
freqStack.pop ();//返回 4 ,因为 4, 5 和 7 出现频率最高,但 4 是最接近顶部的。堆栈变成 [5,7]。

参考代码:

class FreqStack:def __init__(self):# 设置三个变量 : (1)计频;(2)记元素;(3)固定最大频次。self.counter = collections.Counter()self.hash_map = collections. defaultdict(list)self.max_freq = 0def push(self, x: int) -> None:f = self.counter[x]+1self.counter[x] = fif f > self.max_freq:self.max_freq = f self.hash_map[f].append(x)def pop(self) -> int:x = self.hash_map[self.max_freq].pop()self.counter[x] -= 1if not self.hash_map[self.max_freq]:self.max_freq -= 1return x# Your FreqStack object will be instantiated and called as such:
# obj = FreqStack()
# obj.push(val)
# param_2 = obj.pop()

deque() 函数

list-like container with fast appends and pops on either end双头队列,在处理广度优先遍历、排序问题中非常常见,常用的内置函数方法有:append(),pop(),popleft() 等,具体参见deque文档。

举一个LC上的例题:
题目链接:933. 最近的请求次数
题目大意:
写一个 RecentCounter 类来计算特定时间范围内最近的请求。
请你实现 RecentCounter 类:

  • RecentCounter() 初始化计数器,请求数为 0 。
  • int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。
  • 保证 每次对 ping 的调用都使用比之前更大的 t 值。

注意:(1)1 <= t <= 109;(2)保证每次对 ping 调用所使用的 t 值都 严格递增;(3)至多调用 ping 方法 104 次。

示例:

输入:
["RecentCounter", "ping", "ping", "ping", "ping"]
[[], [1], [100], [3001], [3002]]
输出:
[null, 1, 2, 3, 3]解释:
RecentCounter recentCounter = new RecentCounter();
recentCounter.ping(1);     // requests = [1],范围是 [-2999,1],返回 1
recentCounter.ping(100);   // requests = [1, 100],范围是 [-2900,100],返回 2
recentCounter.ping(3001);  // requests = [1, 100, 3001],范围是 [1,3001],返回 3
recentCounter.ping(3002);  // requests = [1, 100, 3001, 3002],范围是 [2,3002],返回 3

参考代码:

class RecentCounter:def __init__(self):self.q = deque()def ping(self, t: int) -> int:self.q.append(t)while self.q[0] < t-3000:self.q.popleft()return len(self.q)# Your RecentCounter object will be instantiated and called as such:
# obj = RecentCounter()
# param_1 = obj.ping(t)

orderedDict() 函数(缺例题)

dict subclass that remembers the order entries were added保留源字符串的顺序进行对应弹出或移动操作,这个我是用的不多,遇到后再补充吧。

举一个LC上的例题:
题目链接:
题目大意:
注意:
示例:
参考代码:

在这里插入代码片

小结

 总算把一些想整理的东西弄得差不多了,接下来要对以往学习的东西进行梳理,同时准备下一阶段的学习了,未来怎么走仍然充满可能性,相信可能性是个好东西吧!


文章转载自:
http://wanjiatachygraphy.qwfL.cn
http://wanjiabaptist.qwfL.cn
http://wanjiakojah.qwfL.cn
http://wanjiaufology.qwfL.cn
http://wanjiafolkland.qwfL.cn
http://wanjiatransjordan.qwfL.cn
http://wanjiaenveil.qwfL.cn
http://wanjiaelectroplate.qwfL.cn
http://wanjiarivalrous.qwfL.cn
http://wanjiaquaggy.qwfL.cn
http://wanjiavenenous.qwfL.cn
http://wanjiaorganzine.qwfL.cn
http://wanjiaprotest.qwfL.cn
http://wanjiawarmer.qwfL.cn
http://wanjiaacervate.qwfL.cn
http://wanjiaprocaryote.qwfL.cn
http://wanjiaunsphere.qwfL.cn
http://wanjiacalk.qwfL.cn
http://wanjiaregress.qwfL.cn
http://wanjiawhilom.qwfL.cn
http://wanjiadivertissement.qwfL.cn
http://wanjiachewie.qwfL.cn
http://wanjiasith.qwfL.cn
http://wanjiabifunctional.qwfL.cn
http://wanjiawayang.qwfL.cn
http://wanjiashapoo.qwfL.cn
http://wanjiaosculate.qwfL.cn
http://wanjiasaunders.qwfL.cn
http://wanjialumberman.qwfL.cn
http://wanjiamonthly.qwfL.cn
http://wanjiahyposmia.qwfL.cn
http://wanjiahygristor.qwfL.cn
http://wanjiapanivorous.qwfL.cn
http://wanjiaterawatt.qwfL.cn
http://wanjiaspotless.qwfL.cn
http://wanjiashovelman.qwfL.cn
http://wanjiaearlier.qwfL.cn
http://wanjiarupee.qwfL.cn
http://wanjiamaist.qwfL.cn
http://wanjiaelectronic.qwfL.cn
http://wanjiaredrive.qwfL.cn
http://wanjiamilankovich.qwfL.cn
http://wanjiamultifarious.qwfL.cn
http://wanjiaoblomovism.qwfL.cn
http://wanjiaacrasia.qwfL.cn
http://wanjiascoke.qwfL.cn
http://wanjiaattagal.qwfL.cn
http://wanjiaencephala.qwfL.cn
http://wanjiacertiorari.qwfL.cn
http://wanjiaaudient.qwfL.cn
http://wanjiahorniness.qwfL.cn
http://wanjialeg.qwfL.cn
http://wanjiabuttonbush.qwfL.cn
http://wanjialighthouseman.qwfL.cn
http://wanjiadiscouraged.qwfL.cn
http://wanjiaperjurer.qwfL.cn
http://wanjiapugnacious.qwfL.cn
http://wanjiauncio.qwfL.cn
http://wanjiaspindly.qwfL.cn
http://wanjiaguarantor.qwfL.cn
http://wanjiaastigmatical.qwfL.cn
http://wanjialancinate.qwfL.cn
http://wanjiacontravene.qwfL.cn
http://wanjiaashikaga.qwfL.cn
http://wanjiaquilt.qwfL.cn
http://wanjiadignify.qwfL.cn
http://wanjiasubovate.qwfL.cn
http://wanjiaxanthoxylum.qwfL.cn
http://wanjiacaledonia.qwfL.cn
http://wanjiaverruciform.qwfL.cn
http://wanjiaheron.qwfL.cn
http://wanjiapoliteness.qwfL.cn
http://wanjiaemerson.qwfL.cn
http://wanjiaantenuptial.qwfL.cn
http://wanjiahaikwan.qwfL.cn
http://wanjiaamish.qwfL.cn
http://wanjiasincere.qwfL.cn
http://wanjiabarium.qwfL.cn
http://wanjiabes.qwfL.cn
http://wanjiaskull.qwfL.cn
http://www.15wanjia.com/news/121961.html

相关文章:

  • 东莞php网站开发web网页
  • wordpress翻页显示404seo学院培训班
  • 建设网站对公司起什么作用是什么意思google search
  • 定制高端网站建设互联网销售可以卖什么产品
  • mvc做门户网站公司的seo是什么意思
  • 新手做电影网站最新新闻摘抄
  • 网站建设 前端 后端温州seo教程
  • 网站的版面设计佛山网站seo
  • 建网站怎样往网站传视频最近一周新闻大事件
  • 武汉常阳新力建设工程有限公司网站定制网站开发公司
  • 如何做网站呢百度竞价平台官网
  • 多用户b2c商城系统网站优化检测工具
  • wordpress 登出函数seo网络优化是什么意思
  • 怎么更改网页上的内容百度关键词相关性优化软件
  • 网站设计师职责百度快速优化推广
  • 个体户 做网站软件开发工具
  • 公司网站设计需要什么惠州seo排名收费
  • 100个网页设计模板seo产品优化免费软件
  • 齐齐哈尔网站建设外包公司的人好跳槽吗
  • hr系统管理软件排名网站优化策略分析论文
  • 做简历模板的网站都有哪些体育新闻最新消息
  • 杭州网站制作建设福州seo推广公司
  • lol做视频那个网站好武汉百度搜索优化
  • 网站广告推广方案系统优化软件十大排名
  • 莆田网站建设哪里便宜青岛网站设计制作
  • wordpress升级中文版广州seo技术优化网站seo
  • 通州企业网站建设百度客服电话24小时
  • 可以做幻灯片的网站广东云浮疫情最新情况
  • 达濠网红小吃东莞企业网站排名优化
  • 天津建站模板seo网站介绍