python有什么用会计专业,python有什么用知乎

  python有什么用会计专业,python有什么用知乎

  Collections是Python内置的集合模块,它提供了许多有用的集合类。

  1、命名元组

  Python提供了很多非常好用的基本类型,比如不变元组,这样你就可以很容易的表示二进制向量。

  v=(2,3)).

  我们发现2和3代表一个向量的两个坐标,但是在没有额外指令的情况下,很难直接看出这个元组是用来代表一个坐标的。

  用这个理由来定义阶级,太夸张了。在这一点上,namedtuple非常有用。

  fromcollectionsimportnamedtuple

  vector=namedtuple(vector ,[x , y ])

  V=向量(2,3))。

  五. x

  2

  v.y

  三

  Namedtuple是创建自定义元组对象的函数,可以指定元组元素的个数,引用属性中的元组元素,而不是索引。

  因此,使用namedtuple,您可以轻松定义具有元组不变性并且可以基于属性引用的数据类型。

  您可以验证创建的矢量对象的类型。

  类型(v)

  Instance (v,vector))。

  真实的

  例(v,tuple))。

  真实的

  同样,如果一个圆要用坐标和半径来表示,也可以用namedtuple来定义。

  circle=namedtuple(circle ,[x , y , r]

  # namedtuple(名称,[属性列表])。

  2、德克

  在数据结构中,我们知道队列和堆栈是两种非常重要的数据类型。一个是先进先出,一个是后进先出。在python中,使用list存储数据时,通过索引访问元素的速度很快,但是插入和删除元素的速度很慢。由于链表是线性存储的,在数据量较大的情况下,插入和删除效率不高。

  Deque是一种双链表结构,可以有效地实现插入和删除操作,非常适合实现数据结构,比如队列和栈。

  从集合中导入队列

  deq=deque ([ 1,2,3 ]

  deq.append(4))。

  抑郁症体验问卷

  德克([ 1,2,3,4 ]).

  deq.appendleft(5)).

  抑郁症体验问卷

  德克([ 5,1,2,3,4 ]).

  deq.pop())

  四

  deq.popleft(

  五

  抑郁症体验问卷

  德克([ 1,2,3 ]

  Deque支持list的append(和pop)(和appendleft())和popleft()),所以可以非常有效地添加和删除头中的元素。

  3.违约迪克

  使用dict字典类型时,如果引用的键不存在,就会抛出一个KeyError。如果不想让这个键存在,可以通过返回默认值来使用defaultdict。

  fromcollectionsimportdefaultdict

  DD=默认字典(lambda:“默认值”).

  dd[key1]=a

  dd[key1]

  一个

  Dd[key2] # key2未定义,将恢复默认值。

  默认值

  注意,默认值是通过调用函数返回的,该函数是在创建defaultdict对象时传递的。

  defaultdict的行为与dict完全相同,只是在键不存在时返回默认值。

  4.订购的CD

  使用dict时,键是乱序的。当重复dict时,我们不能决定键的顺序。

  但是,如果您想保持密钥的顺序,可以使用有序的CD。

  fromcollectionsimportordereddict

  d=DICT () ) (a),1).

  ,( b ,2),( c ,3)])

  d # dict的键有问题

  {a: 1, c: 3, b: 2}

  od=OrderedDict([(a ,1),( b ,2),( c ,3)])

  od # OrderedDict的关键字已排序

  OrderedDict([(a ,1),( b ,2),( c ,3)])

  请注意,OrderedDict的键是按插入顺序排序的,而不是键本身。

  od=OrderedDict()

  od[z]=1

  od[y]=2

  od[x]=3

  List(od.keys()) #按插入键的顺序返回

  [z , y , x]

  OrderedDict可以实现FIFO(先进先出)字典。当容量超过限制时,最早添加的密钥将首先被删除。

  从集合导入订单直接

  LastUpdatedOrderedDict类(OrderedDict):

  def __init__(self,capacity):

  super(LastUpdatedOrderedDict,self)。__init__()

  自我。_容量=容量

  def __setitem__(self,key,value):

  如果Key在self else 0中,则containsKey=1

  if len(self) - containsKey=self。_容量:

  last=self.popitem(last=False)

  打印(删除:,最后一个)

  如果包含密钥:

  del self[key]

  print(set:,(key,value))

  否则:

  打印(添加:,(键,值))

  OrderedDict。__setitem__(自身,关键字,值)

  5、链式地图

  ChainMap可以将一组字典串在一起形成一个逻辑字典。ChainMap本身也是一个dict,但是搜索的时候会在内部的dict中按顺序搜索。

  什么时候使用ChainMap最好?例如,应用程序经常需要传入参数。参数可以通过命令行、环境变量或默认参数传入。我们可以使用ChainMap来查找参数的优先级,即先检查命令行参数,如果没有传入则检查环境变量,如果没有传入则使用默认参数。

  下面的代码演示了如何查找参数user和color。

  从集合导入链图

  导入操作系统,argparse

  #构造默认参数:

  默认值={

  颜色:红色,

  用户:来宾

  }

  #构造命令行参数:

  parser=argparse。ArgumentParser()

  parser.add_argument(-u ,- user )

  parser.add_argument(-c ,- color )

  namespace=parser.parse_args()

  command_line_args={ k: v for k,v in vars(命名空间)。items() if v }

  #组合成链图:

  combined=chain map(command _ line _ args,os.environ,默认值)

  #打印参数:

  打印( color=%s % combined[color])

  打印(用户=%s %组合[用户])

  当没有参数时,打印出默认参数:

  $ python3 use_chainmap.py

  颜色=红色

  用户=来宾

  传入命令行参数时,命令行参数优先:

  $ python3 use_chainmap.py -u bob

  颜色=红色

  用户=鲍勃

  命令行参数和环境变量同时传入,命令行参数具有更高的优先级:

  $ user=admin color=green python 3 use _ chain map . py-u bob

  颜色=绿色

  用户=鲍勃

  6、柜台

  Counter是一个简单的计数器,例如,计算出现的字符数:

  从集合导入计数器

  s= abbcccdddd

  计数器

  计数器({d: 4, c: 3, b: 2, a: 1})

  Counter实际上是dict的一个子类。

  7.摘要

  集合模块提供了一些有用的集合类,可以根据需要进行选择。

  以上是边肖介绍的python内置模块集合。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对python博客网站的支持!

  如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: