- 博客(5)
- 收藏
- 关注

原创 Python 深入浅出字符串(详细)
因此,每次想要改变字符串,往往需要 O(n) 的时间复杂度,其中,n 为新字符串的长度。你可能注意到了,上述例子的说明中,我用的是“往往”、“通常”这样的字眼,并没有说“一定”。所以,最后打印出来的输出,就是字符 a,换行,字符b,然后制表符,最后打印字符 c。你可能了解到,在其他语言中,如 Java,有可变的字符串类型,比如 StringBuilder,每次添加、改变或删除字符(串),无需创建新的字符串,时间复杂度仅为 O(1)。因此,用下面的操作,来改变一个字符串内部的字符是错误的,不允许的。
2024-11-10 13:25:39
1584

原创 Python核心技术 - 列表和元组,应该如何使用?
这样,下次我们再创建同样大小的元组时,Python 就可以不用再向操作系统发出请求,去寻找内存,而是可以直接分配之前缓存的内存空间,这样就能大大加快程序的运行速度。另外,由于列表可变,所以需要额外存储已经分配的长度大小(8 字节),这样才可以实时追踪列表空间的使用情况,当空间不足时,及时分配额外空间。我们可以来看下面的前面说了,列表和元组最重要的区别就是,列表是动态的、可变的,而元组是静态的、不可变的。你可以看到,对列表和元组,我们放置了相同的元素,但是元组的存储空间,却比列表要少 16 字节。
2024-11-10 11:39:19
728
原创 Java中对比Vector, ArrayList, LinkedList的区别
创作不易,请大家多多支持。我们在日常的工作中,能够高效地管理和操作数据是非常重要的。由于每个编程语言支持的数据结构不尽相同,比如我最早学习的 C语言,需要自己实现很多基础数据结构,管理和操作会比较麻烦。相比之下,Java 则要方便的多,针对通用场景的需求,Java提供了强大的集合框架,大大提高了开发者的生产力。今天我要问你的是有关集合框架方面的问题,对比Vector、ArrayList、LinkedList 有何区别?
2024-11-14 22:05:52
1912
原创 深入解析迭代器和生成器
声明一个迭代器很简单 生成器,还能玩什么花样? def generator(k): i = 1 while True: yield i ** k i += 1gen_1 = generator(1) gen_3 = generator(3) print(gen_1)
2024-11-12 10:53:57
1499
原创 Python 中is和==的区别
这里,首先 Python 会为 10 这个值开辟一块内存,然后变量 a 和 b 同时指向这块内存区域,即 a 和 b 都是指向 10 这个变量,因此 a 和 b 的值相等,id 也相等,a == b和a is b都返回 True。我们知道元组是不可变的,但元组可以嵌套,它里面的元素可以是列表类型,列表是可变的,所以如果我们修改了元组中的某个可变元素,那么元组本身也就改变了,之前用'is'或者'=='操作符取得的结果,可能就不适用了。这里注意,比较操作符'is'的速度效率,通常要优于'=='。
2024-11-10 19:28:52
290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人