python collections模块的使用

 更新时间:2020年10月16日 08:38:00   作者:Gg、  
这篇文章主要介绍了python collections模块的使用,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下

collections模块

  collections模块:提供一些python八大类型以外的数据类型

  python默认八大数据类型:

    - 整型

    - 浮点型

    - 字符串

    - 字典

    - 列表

    - 元组

    - 集合

    - 布尔类型

1、具名元组

  具名元组只是一个名字

  应用场景:

    ① 坐标

# 应用:坐标
from collections import namedtuple

# 将"坐标"变成"对象"的名字
# 传入可迭代对象必须是有序的
point = namedtuple("坐标", ["x", "y" ,"z"])  # 第二个参数既可以传可迭代对象
# point = namedtuple("坐标", "x y z")  # 也可以传字符串,但是字符串之间以空格隔开
p = point(1, 2, 5)  # 注意元素的个数必须跟namedtuple中传入的可迭代对象里面的值数量一致

# 会将1 --> x , 2 --> y , 5 --> z
print(p)
print(p.x)
print(p.y)
print(p.z)

执行结果:

坐标(x=1, y=2, z=5)
1
2
5

  ② 扑克牌

# 扑克牌
from collections import namedtuple

# 获取扑克牌对象
card = namedtuple("扑克牌", "color number")

# 产生一张张扑克牌
red_A = card("红桃", "A")
print(red_A)
black_K = card("黑桃", "K")
print(black_K)

  执行结果:

扑克牌(color='红桃', number='A')
扑克牌(color='黑桃', number='K')

  ③ 个人信息

# 个人的信息
from collections import namedtuple

p = namedtuple("china", "city name age")

ty = p("TB", "ty", "31")
print(ty)

  执行结果:

china(city='TB', name='ty', age='31')

2、有序字典

  python中字典默认是无序的

  collections中提供了有序的字典: from collections import OrderedDict

# python默认无序字典
dict1 = dict({"x": 1, "y": 2, "z": 3})
print(dict1, "  ------>  无序字典")
print(dict1.get("x"))


# 使用collections模块打印有序字典
from collections import OrderedDict

order_dict = OrderedDict({"x": 1, "y": 2, "z": 3})
print(order_dict, "  ------>  有序字典")
print(order_dict.get("x"))  # 与字典取值一样,使用.get()可以取值
print(order_dict["x"])  # 与字典取值一样,使用key也可以取值
print(order_dict.get("y"))
print(order_dict["y"])
print(order_dict.get("z"))
print(order_dict["z"])

  执行结果:

{'x': 1, 'y': 2, 'z': 3}  ------>  无序字典
1
OrderedDict([('x', 1), ('y', 2), ('z', 3)])  ------>  有序字典
1
1
2
2
3
3

以上就是python collections模块的使用的详细内容,更多关于python collections模块的资料请关注脚本之家其它相关文章!

相关文章

  • pytorch实现textCNN的具体操作

    pytorch实现textCNN的具体操作

    这篇文章主要介绍了pytorch实现textCNN的具体操作流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Anaconda3中的Jupyter notebook添加目录插件的实现

    Anaconda3中的Jupyter notebook添加目录插件的实现

    这篇文章主要介绍了Anaconda3中的Jupyter notebook添加目录插件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 用Python编写一个漏洞验证脚本

    用Python编写一个漏洞验证脚本

    大家好,本篇文章主要讲的是用Python编写一个漏洞验证脚本,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 利用Python操作MongoDB数据库的详细指南

    利用Python操作MongoDB数据库的详细指南

    MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,下面这篇文章主要给大家介绍了关于利用Python操作MongoDB数据库的相关资料,需要的朋友可以参考下
    2023-02-02
  • 十条建议帮你提高Python编程效率

    十条建议帮你提高Python编程效率

    这篇文章主要为大家介绍了十条建议,可以帮你提高Python编程效率的10条,想要提升提高Python编程效率的朋友不要错过
    2016-02-02
  • Python 计算任意两向量之间的夹角方法

    Python 计算任意两向量之间的夹角方法

    今天小编就为大家分享一篇Python 计算任意两向量之间的夹角方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python 详解turtle画爱心代码

    python 详解turtle画爱心代码

    这篇文章主要介绍了python画爱心的过程。文中的示例代码讲解详细,对我们学习Python有一定的价值,需要的可以参考一下
    2022-02-02
  • python实现斐波那契数列的方法示例

    python实现斐波那契数列的方法示例

    每个码农大概都会用自己擅长的语言写出一个斐波那契数列出来,斐波那契数列简单地说,起始两项为0和1,此后的项分别为它的前两项之后。下面这篇文章就给大家详细介绍了python实现斐波那契数列的方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • 非递归的输出1-N的全排列实例(推荐)

    非递归的输出1-N的全排列实例(推荐)

    下面小编就为大家带来一篇非递归的输出1-N的全排列实例(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • python实现贝叶斯推断的例子

    python实现贝叶斯推断的例子

    本文介绍一个贝叶斯推断的python实现,并展现了基于标量运算的实现和基于numpy的矩阵运算的实现之间的差别,感兴趣的可以了解一下
    2021-09-09

最新评论