黑洞HTTP

黑洞HTTP

您的位置: 首页 > 新闻资讯 > HTTP代理 > 正文

代理IP中的Python常用模块--collections

发布时间:2019年03月18日 来源:互联网

collections是Python中一个非常强大的容器数据模块。


代理IP中的Python常用模块--collections


1.创建升级版的元组--namedtupe


Python的元组(1,2,3)具有不可变性,但是单独的元组在无法满足现有需求时,可以使用升级版的元组,使用namedtupe可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便。


#!/usr/bin/env python

# -*- coding:utf-8 -*-

__author__ = "问道编程"

__date__ = "2019/03/18 12:37"


from collections import namedtuple


Point = namedtuple('Ponit', ['x', 'y'])  # 实例化一个tupe对象,并规定了对象数量以及属性:x、y

p = Point(1,3)   # 赋值

print(p.x)   # 通过属性访问数据

print(p.y)

 


2.创建升级版的列表--deque


使用list存储数据时,可以非常方便的进行查询和尾部操作(append、pop),但是在头部添加、删除时效率很低(最大时间复杂度为n),所以有了deque,可以实现高效的头、尾的操作,适合用于队列和栈:


from collections import deque


q = deque([1,2,3])

q.append(6)   # [1,2,3,6]  同list一样进行尾部添加、删除操作

q.pop() # [1,2,3]

q.appendleft('x')  # ['x',1,2,3]  头部添加

q.popleft()  # [1,2,3]  头部删除

 


3.创建升级版字典--defaultdict


常用的dict使用键值对存储数据,但当使用key访问匹配的值,而key不存在时会报错,而使用defaultdict可以规定一个默认值,当使用不存在的key查询字典的值时,会返回一个指定的默认值:


from collections import defaultdict


d = defaultdict(lambda: 'N/A')   # 创建defaultdict对象,是字典类型的子集,并规矩默认值是   N/A

d['a'] = 1

print(d['a'])  # 1   正常输出

print(d['b'])  # N/A key不存在时,输出默认值

 


4.创建有顺序的字典--OrderedDict


常用的dict是不记录键值对顺序的,使用OrderedDict可以创建相对有序的字典,该类型可记录字典的输入顺序,但不能自动进行排序:


from collections import OrderedDict


d = OrderedDict()

d['a'] = 1

d['b'] = 2


print(d.keys())  # ['a','b'] 会按照key值的录入顺序进行打印

 


5.创建多个字典的映射--ChainMap


官方解释:一个 ChainMap 类是为了将多个映射快速的链接到一起,这样它们就可以作为一个单元处理。它通常比创建一个新字典和多次调用 update() 要快很多。


通俗的说,是创建一将多个字典链接到一起的映射,底层通过list实现,查询时,从第一个字典映射开始查,如果第一个字典没有,查询第二个,依次类推,但是更新、删除数据时仅对于第一个字典映射操作。


通常在进行拼接命令行时,可以对参数进行优先选择,比如用户输入数据、环境传入、默认值。


参考:https://docs.python.org/zh-cn/3/library/collections.html


 


6.功能强大的列表计数功能--Counter


from collections import Counter


arr = [1,2,3,3,3,6,2,2,2]  # 1出现1次,2出现4次,3出现3次,6出现1次

print(arr.count(3))   # 3  可以使用list的count方法获取指定值的出现次数

cou = Counter(arr)

pirnt(cou)  # Counter({3: 3, 2: 2, 1: 1, 5: 1, 6: 1})  属于字典的子集


for k,v in cou.items():

    print(k,v)       # 对Counter进行遍历,打印结果

print(cou.most_common(2)) # [(3,3),(2,2)]  返回出现次数最高的前两个数字及次数


黑洞http:是企业级http服务提供商,大数据采集服务服务提供商,我们拥有高品质爬虫代理,遍布全国200+城市服务器,从容应对海量IP需求,我们从不吝惜产品质量,为确保您获得最佳体验,我们选择与国内最值得信赖的运营服务商进行深度合作,提供更快,更可靠的服务。


相关文章内容简介

1 代理IP中的Python常用模块--collections

collections是Python中一个非常强大的容器数据模块。1.创建升级版的元组--namedtupePython的元组(1,2,3)具有不可变性,但是单独的元组在无法满足现有需求时,可以使用升级版的元组,使用namedtupe可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便。#!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = "问道编程"__date__ = "2019/03/18 12:37"from collections import namedtuplePoint = namedtuple('Ponit', ['x', 'y'])  # 实例化一个tupe对象,并规定了对象数量 [阅读全文]

热门标签

最新标签

推荐阅读

  1. 28

    2019-03

    如何通过Python使用代理IP增加博客园阅读量

    最近有博客园的小白吐苦水,说发了好几天的博客文章阅读量还是个位数,被被人转载了阅读量快要破百了,而且转载还不注明出处,感觉心理不平衡,自己辛辛苦苦写的文章没成果,别人抄袭

  2. 29

    2019-10

    如何运用代理IP获取大数据?

    代理ip频繁出现在我们的生活工作中,特别是互联网工作者中。使用带来IP来获取信息,这是爬虫工作的最常用方法,因为获取的信息较多,所以需要用代理IP来解决IP数量的限制。此外,代理

  3. 05

    2019-08

    移动http代理服务器地址

    http代理服务器在现代生活中的应用越来越多。总有人说IP代理HTTP代理,那么什么是真正的http代理服务器呢简单的说,HTTP代理和我们现实中的各种代理商是一样的,它就是我们在访问目标网络

  4. 28

    2019-08

    如何利用http代理IP为好友投票

    在互联网应用逐渐广泛的今天,http代理IP给我们的工作生活带来了很大的方便。所以,http代理IP的产品代理商也是逐渐增加,很多用户陷入了选择困难症中,不知道应该怎样选择。

  5. 14

    2019-03

    国内代理ip软件有哪些?哪个代理IP效果好呢?

    代理IP软件,对很多人来说是熟悉又陌生,为什么要用到代理IP软件呢?因为如果一直用同一个iP爬取同一个网页,ip会被禁止访问网页,当我们的ip被限制了,就需要用到IP代理软件换IP,那么国

  6. 18

    2019-03

    黑洞http代理:知道这些,你会更了解大数据!

    大数据有4个特点,分别为:Volume(大量)、Variety(多样)、Velocity(高速)、Value(价值),一般我们称之为4V。