python中os与sys两模块的区别,python 库,包,模块的区别

  python中os与sys两模块的区别,python 库,包,模块的区别

  等分模块包含两个主要功能:等分和insort。二等分和insort内部使用二分搜索法算法,分别用来搜索和插入规则数组中的元素。

  平分/基本/

  将某物分成两等份。平分

  1等分函数

  卢西亚诺拉马尔霍举了一个大海捞针的例子来说明

  haystack=[ 1,4,5,6,8,12,15,20,21,23,26,29,30 ]

  需要les=[ 0,1,2,5,8,10,22,23,29,30,31 ]

  row _ fmt= { 0:2d } @ { 1:2d } { 2 } { 0:2d }

  defdemo(二等分_fn):

  forNeedleinreversed(针头) :

  position=平分_fn(干草堆,针))))))).

  偏移量=位置*

  print(row_fmt.format(针,位置,偏移) )

  if __name__==__main__ :

  if sys.argv[-1]==left :

  平分_ fn=平分.平分_左

  否则:

  平分_ fn=平分.平分

  打印(演示: ),平分_fn。__name__)))).

  打印(干草堆-,)。加入)- % n干草堆) )

  Demo(等分_fn))是

  执行结果:

  演示:对分_右

  干草堆-14568 12 15 20 21 23 23 26 29 30

  31 @ 14 31

  30 @ 1430

  29 @ 1329

  23 @ 11 23

  22 @922

  10 @ 5 10

  8 @ 5 8

  5 @ 3 5

  2 @ 1 2

  1 @ 1 1

  0@0

  Python函数的一个特性是函数名可以作为参数使用,如二等分_fn的例子所示。这样函数更加灵活,函数名可以作为程序执行参数动态加载。

  草堆是一堆干草,针是一堆针。大海捞针,本质上就是在已经确定的序列中寻找某个数字。

  自定义的demo(二分_fn)函数,先计算位置,然后用位置计算需要多少个分隔符作为打印偏移量,按照最后定义的格式打印。

  Str.format))用于格式化字符串,您可以指定参数的位置。例如,语法{0:2d}中的0表示第一个条目,2d表示总长度。当它不够时,空间被用作占位符。d表示十进制有符号整数。

  Str.format))格式也可以设置对齐方式。居中,左右对齐。因此,{0:2d}表示第一个条目左对齐,两位数是带小数符号的整数。

  __name__是python内置的class属性,存在于python程序中,表示相应的程序名。对于主线程,它的内置名是__main__。

  如果在程序运行的时候添加了left参数,那么在程序的自定义函数中就会调用平分_left函数。二等分函数实际上是二等分_右函数的别名。

  等分_左函数和等分函数的区别如下:

  section _ left函数返回与原始序列中插入的元素相等的元素位置。插入新元素时,新元素将位于等效元素之前。

  2.2 .二等分函数返回元素之后的位置,该位置等于原始序列中插入的元素。插入新元素时,新元素将放置在等效元素之后。

  二等分_左函数的执行结果:

  演示:左等分

  干草堆-14568 12 15 20 21 23 23 26 29 30

  31 @ 14

   31

  30 @ 13 30

  29 @ 12 29

  23 @ 9 23

  22 @ 9 22

  10 @ 5 10

  8 @ 4 8

  5 @ 2 5

  2 @ 1 2

  1 @ 0 1

  0 @ 0 0

  python官方文档还引用了一个使用等分函数输出测试分数的示例程序:

  def等级(分数,断点=[60,70,80,90],等级=FDCBA ):

  i=二等分.二等分(断点,得分)

  返回等级[i]

  if __name__==__main__ :

  结果=[33,99,77,70,89,90,100中分数的等级(分数)]

  logging.info(结果- %s ,结果)

  运行结果:

  信息-结果- [F , A , C , C , B , A , A]

  自定义等级()定义了三个参数:

  参数名称

  解释

  得分

  测验分数

  断点

  等级边界值;这里分为5档;90及以上,80 ~ 89,70 ~ 79,60 ~ 69及60以下。

  等级

  评估分为范围。

  grade()函数首先根据传入的分数通过二等分()函数找到自己的位置,然后将这个位置传入grades序列中得到评价分数。

  在主线程中,用语法中的for迭代表示学生成绩的序列,将分数传入grade()函数计算评价分数,最后通过序列一次性输出。

  Insort功能

  因为排序是一项耗时的任务,所以对于一个有序的序列,在添加一个元素时,最好保持它的有序性。insort函数确保该序列在插入时总是有序的。

  尺寸=10

  我的列表=[]

  对于范围内的I(尺寸):

  new _ item=random . rand range(SIZE * 3)

  平分. insort(我的列表,新项目)

  打印( % new_item,my_list)

  运行结果:

  18 - [18]

  8 - [8, 18]

  21 - [8, 18, 21]

  5 - [5, 8, 18, 21]

  19 - [5, 8, 18, 19, 21]

  13 - [5, 8, 13, 18, 19, 21]

  20 - [5, 8, 13, 18, 19, 20, 21]

  4 - [4, 5, 8, 13, 18, 19, 20, 21]

  15 - [4, 5, 8, 13, 15, 18, 19, 20, 21]

  2 - [2, 4, 5, 8, 13, 15, 18, 19, 20, 21]

  RAND()将返回给定参数randrange内的随机数,但不包括边界值。

  你可以看到每次插入的时候,顺序都是按顺序的。

  Print (-%new_item,my_list)采用%s格式语法,-定义new_item值的格式,my _ list会在格式后自动挂起。所以在这里,第二个百分号后面没有加括号,要格式化的参数是圈起来的。

  Insort还有一个兄弟叫insort_left,底层用的是平分_left。insort_left函数将新元素放在它的对等元素前面。

  另外,二等分函数和insort函数都有两个可选参数(lo和hi),可以用来缩小要搜索的序列范围。lo的默认值是0,hi的默认值是序列的长度。

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

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