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运行openssl命令?   不使用线程安全类(如AtomicInteger和SynchronizedList)的java ProducerConsumer问题   匹配字符串的java模式   在java中使用泛型接口作为返回类型   java将可能具有序列化JSON值的hashmap作为节点添加到JSON字符串中   Eclipse无法从Java8流推断正确的类型   java无法了解标准JButton的大小   java我能用一个循环优化这个函数吗(在第一种方法中)?   Apache CXF中基于WebSocket的java SOAP?   java想要运行奇偶和求和三步   矩阵上随机元素的java集值   java布尔相等:0==a,操作数顺序重要吗?   java Eclipse不会退出我的插件   java如何在spring的SOAP拦截器中获取HttpServletRequest和HttpServletResponse