小Python Utilities Addon

python-util的Python项目详细描述


python实用程序

一般

功能编程

do(func,times,showResult=true)

执行指定的参数函数func次。如果showresult=true,则返回结果列表。 示例用法:

do(lambda:print("hello"),5)#Will print "hello" 5 times

doall(func,args=[],showResult=true)

为参数列表执行给定函数 示例用法:

do(addFive,[1,2,3],True)#Returns [6,7,8]

dorec(func,times,args=none,showresult=true)

递归地执行给定的函数,将参数函数func的前一个输出作为参数。

如果args参数不是列表、元组或字典,但返回值是,则它将循环遍历所有返回值,并递归地对其应用参数函数,直到达到剩余的指定递归深度。 这由times参数和当前递归级别决定。 例如,如果times=10,第三次迭代产生一个列表,则参数函数将在该列表的内容上再应用7次。

打字检查速记

指示器(项目)/指示器(项目)

检查项目是否可输入

岛列表(项目)

isinstance(item,list)

输入(项目)

isinstance(item,int)

isfloat(项目)

isinstance(item,float)

字符串(项)

isinstance(item,str)

ISDICT(项目)

isinstance(item,dict)

耦合(项目)

isinstance(item,tuple)

获取类型(项)

以字符串形式返回该项的类型。

Iterables

无意义(iterable,item,searchinsubstring=false)

递归地遍历目标iterable和所有嵌套iterable,这意味着它还将检查:

  • 所有iterable(列表、元组、用户定义的iterable)的所有子列表、子列表的子列表等

  • 对于字典,它同时检查键和值,包括值中的任何嵌套iterable

  • 如果searchinsubstring=true,它还将检查项是否是任何元素的子字符串。

示例用法:

b={"test":3,"other":[1,2,[3,{"yo":[3,"MisterL"]},4],5]}inany(b,"ister")#Falseinany(b,"ister",True)#True, as "ister" is a substring of "MisterL"

allin(lst,otherlst)

检查lst中的所有元素是否都在otherlst

anyin(lst,otherlst)

检查lst中的任何元素是否位于otherlst

TODICT(一级,其他一级)

将两个列表合并到一个字典中,其中lst作为键,otherlst作为值。 如果两个列表的大小不同,则会丢弃较长列表中的多余值。

解析

numparse(字符串,小数点=false,小数点='.')

解析给定字符串中的所有数字并将其返回到列表中。 如果decimals=true,它还将使用decimalpoint解析小数。DecimalPoint也可以设置为不同的值,例如,在分析德语数字时。

示例用法

do(lambda:print("hello"),5)#Will print "hello" 5 times
0

时间分析(时间字符串)

需要格式为hh:mm或hh:mm:ss的字符串 从参数字符串返回DateTime对象(带秒或不带秒)

日期分析(datestring,分隔符='-',reverse=false,american=false)

需要标准格式的日期字符串(例如yy yy-m m-dd、yy-m-dd等) 分隔符可以更改为解析不同的符号,例如2019/08/12 如果reverse=true,则解析格式为dd-mm-yyyy或类似的日期 如果american=true,则需要yyyy-dd-mm(如果reverse=true,则为mm-dd-yyyy)或类似格式

文件

简单文件操作的缩写。

速记

fileappend(文件名,内容)

将打开文件并将内容附加到文件末尾。如果需要,将转换为字符串并在使用后关闭文件。

文件覆盖(文件名,内容)

将打开文件并用东西覆盖文件内容。如果需要,将转换为字符串并在使用后关闭文件。

filereplace(文件名,regextreplace,replacementstring)/H4>

将打开文件并用replacementstring替换与regexregextreplace匹配的任何内容。使用后关闭文件。

哈斯克尔

实现常见的Haskell便利功能

列出功能

除了product还可以处理字符串。

服用(lst,量)

返回lst的第一个amount索引

下降(lst,数量)

返回lst的最后amount索引

最后(lst)

返回lst的最后一个索引-

头部(lst)

返回lst的第一个索引-

初始(lst)

返回除最后一个索引之外的lst的所有索引。

尾部(lst)

返回除第一个索引之外的lst的所有索引。

产品(LST)

返回列表中所有成员相乘的乘积。有点类似于内置函数sum()

周期(事物,数量)

循环一个列表或字符串,并返回其中的第一个数量字符。

do(lambda:print("hello"),5)#Will print "hello" 5 times
1

实际上等于

do(lambda:print("hello"),5)#Will print "hello" 5 times
2

示例用法:

do(lambda:print("hello"),5)#Will print "hello" 5 times
3

复制(事物,数量)

复制给定的对象并返回包含对象数量次的列表。

示例用法:

do(lambda:print("hello"),5)#Will print "hello" 5 times
4

数学

内置数学模块的扩展

数字

isprime(数字)

检查给定的数字是否为素数。

查找时间(最小、最大)

返回范围(最小值、最大值)内的所有值

查找因子(num)

返回给定数字的所有因子的列表,包括1和数字本身。 示例用法:

do(lambda:print("hello"),5)#Will print "hello" 5 times
5

发现因素(数量)

返回元组列表中给定数字的所有因子,包括1和数字本身。 示例用法:

do(lambda:print("hello"),5)#Will print "hello" 5 times
6

findintegerroot(num,power=2)

查找整数x,使x**power等于num。如果没有整数根,则返回none。 示例用法:

do(lambda:print("hello"),5)#Will print "hello" 5 times
7

二维线性方程

中间部分(eq1,eq2)

对于y=mx+c类型的线性方程,需要两个元组形式(m,c)aka(gradient,start)的方程。 返回一个元组,其值(x,y)表示这两个方程相等的笛卡尔坐标。

查找半径(坐标1,坐标2)

需要两个元组形式的位置向量(x,y)。 返回连接它们的线的梯度

二维几何

圆形电度表(半径)

返回给定半径的圆的周长

三角区(a,b,c=无)

需要表示三角形三条边的三个参数, 需要两个参数表示三角形的基长和高度。 返回三角形的面积。

圆形(半径)

返回给定半径的圆的面积

梯形面积(a,b,d)

期望平行边ab的长度,以及它们之间的距离d。 返回梯形的面积。

三维几何

球体(半径)

返回给定半径的球体体积

棱柱体(a,b,c=无)

需要表示棱柱体长度、宽度和高度的三个参数, 需要两个参数,表示底面面积和棱镜高度 返回棱镜的体积。

气缸容积(半径、高度)

返回给定半径和高度的圆柱体体积。

金字塔体积(面积、高度)

返回具有给定区域和高度的棱锥体的体积。

圆锥形(面积、高度)

返回带有gi的圆锥体的体积Ven区域高度

数据结构

python的其他复杂数据结构。

特雷诺德

方法

node.addValue(self,valueiterable)

将valueiterable的所有值添加到树中,从该节点开始

node.findValue(self,value,returnnode=false)

如果可以在该节点的下方找到,则返回true;如果无法找到,则返回false。 如果returnnode=true,则返回该值的节点,或不返回该值。

节点.findnode(自身,值)

node.findValue的简写形式(self,value,returnnode=true)

node.getsubnodekeys(self)

返回所有子节点值的列表

字段

节点.子节点

返回{value:subnode}的字典

说明

例如,字符串"test"有4个元素,将被转换为具有4个节点的树:

do(lambda:print("hello"),5)#Will print "hello" 5 times
8

如果我们现在将字符串"tea"添加到同一棵树上,我们将得到:

do(lambda:print("hello"),5)#Will print "hello" 5 times
9

第二个节点(值为"e")现在有两个子节点,一个值为"s",另一个值为"a" 值"t"和"e"不会再次添加,因为它们已经在树中。

完整示例

do(addFive,[1,2,3],True)#Returns [6,7,8]
0

现在我们的树看起来是这样的:

do(addFive,[1,2,3],True)#Returns [6,7,8]
1
do(addFive,[1,2,3],True)#Returns [6,7,8]
2

如果我们在树的节点上调用一个方法,则从该位置调用它。 例如:

do(addFive,[1,2,3],True)#Returns [6,7,8]
3

现在我们的树看起来是这样的:

do(addFive,[1,2,3],True)#Returns [6,7,8]
4

如果我们想找到一个节点的所有子节点,例如"he"中的"e"(即"l"、"y"、"r")

do(addFive,[1,2,3],True)#Returns [6,7,8]
5

如果我们只需要子节点的值,而不处理对象本身呢?

do(addFive,[1,2,3],True)#Returns [6,7,8]
6

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
日期和现在之间的Java时间   java以适当的方式更新jLabel和jTextField   java如何从PQ(单链表)中删除最大值   java可以通过任何方式找出哪些NSF文件属于Domino服务器   java Velocity 2不会设置属性   如何使用java流迭代索引映射列表   maven依赖项在编译期间工作,但在java运行时失败。lang.NoClassDefFoundError&java。lang.ClassNotFoundException   java有没有办法完全隐藏Web应用程序代码?   Android appcompat v7 21库中的java FadingActionBar错误   Eclipse/com中的java AdMob。谷歌。安卓gms。ads.AdView   java My Service表示它正在运行,但其状态尚不清楚,似乎没有绑定   java无法启动Apache Tomcat Web应用程序容器   JDK:java中的命名约定。可丢弃的   Spring SerSecurity中的java身份验证错误   Maven:使用JDK8编译Java7   java在使用ExecutorService时如何管理内存?   comm.jar通信串行端口java   java LibGDX创建动画