rope数据结构的python实现

ropes的Python项目详细描述


python中rope数据结构的早期实现。

关于绳索

绳索是弦的可变替代品。字符串表示为 二叉树,对字符串的修改可以通过替换 现有的子字符串分支或将新子串插入到树中 结构。

这是一个支持基本操作的初步版本,例如 连接、索引、切片和步幅。

一些特性的实现目前很差,特别是切片 操作。没有任何努力来平衡树或优化 数据结构。

用法

要将字符串转换为rope,请使用Rope类构造函数。

r=Rope('abcdefg')

可以使用字符串列表构造预定义的Rope树。

r=Rope(['abc','def','g'])

打印绳子会返回一个字符串。

>>>r=Rope(['abc','defg'])>>>r(Rope('abcd')+Rope('efg'))>>>print(r)abcdefg

字符串可以插入现有的绳索之间。

>>>r,s=Rope('abc'),Rope('def')>>>u='123'>>>r+u+s((Rope('abc')+Rope('123'))+Rope('def'))>>>print(r+u+s)abc123def>>>

目前的使用是非常基本的,但有希望在未来改进。

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

推荐PyPI第三方库


热门话题
java Cassandra复制因子大于节点数   java J2EE JTA事务回滚不适用于OSE Glassfish 4.0(Build 89)   java spring安全预认证用户登录   org的java类文件。反应流。从RxJava编译示例时未找到Publisher?   java在使用dataFormat作为POJO通过Camel调用Web服务时无法设置SOAP标头   Javafx类的java静态实例   java如何防止一个部件在关闭时覆盖另一个部件的位置   sql server无法从我的java代码连接到数据库   java在JList(Swing)中显示带有的ArrayList   从Java中的CXF服务获取WSAddressing数据   使用资产文件夹进行java简单json解析(本地)   java LDAPException未绑定的无效凭据   JavaJSFspring部署到weblogic   JAVA中字符数组中的特定元素排列?   如果脚本位于不同的目录中,则ant不会使用exec标记运行Javashell脚本