数据结构及算法——数组和字符串一些记录

1. 在Python中,任何非零整数值(包括1)在布尔上下文中都被视为True

也就是if 非0: 该条件就为True,if 0该条件就为False

2. 

具体来说,lst[start:stop:step] 是Python中列表切片的基本语法。在这个语法中:

  • start 是开始索引(包含),默认为0。
  • stop 是结束索引(不包含),默认为列表长度。
  • step 是步长,默认为1。当步长为负数时,切片会反向进行。

在 lst[::-1] 这个例子中:

  • 没有指定 start,所以默认为0。
  • 没有指定 stop,所以默认为列表的长度。
  • step 被设置为 -1,表示反向切片。
lst = [1, 2, 3, 4, 5, 6]  
reversed_lst = lst[::-1]  
print(reversed_lst)  # 输出: [6, 5, 4, 3, 2, 1]

3. 字符串高效的拼接方式

先看不高效的方式:

# python
def joint_str(str):
    s=''
    for i in range(10000):
        s += '_Hello_'
    print(s)

# java,每次拼接都会创建一个String对象,当 n 的值很大时(比如 n = 10000),这段代码会消耗大量的时间和内存,并可能导致性能问题,甚至 OutOfMemoryError。
public class Main {
    public static void main(String[] args) {
        String s = "";
        int n = 10000;
        for (int i = 0; i < n; i++) {
            s += "hello";
        }
    }

高效方式:

# python
# 使用列表来收集字符串片段,然后使用join()来拼接它们  
strings = []  
n = 10000  
for i in range(n):  
    strings.append("hello")  
  
# 使用join()方法来拼接字符串  
s = ''.join(strings)  
  
# 现在s包含了n个"hello"字符串的拼接结果  
print(s)


# java
public class Main {  
    public static void main(String[] args) {  
        StringBuilder sb = new StringBuilder();  
        int n = 10000;  
        for (int i = 0; i < n; i++) {  
            sb.append("hello");  
        }  
        String s = sb.toString(); // 当你需要字符串时才转换为String  
        // 现在你可以使用s了,它包含了n个"hello"字符串的拼接结果  
    }  
}

 

 

相关推荐

  1. 数据结构算法——字符串一些记录

    2024-05-10 09:38:09       34 阅读
  2. 算法3&4_数据结构&链表

    2024-05-10 09:38:09       37 阅读
  3. 字符串

    2024-05-10 09:38:09       43 阅读
  4. 数据结构算法】交替合并字符串

    2024-05-10 09:38:09       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-10 09:38:09       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-10 09:38:09       97 阅读
  3. 在Django里面运行非项目文件

    2024-05-10 09:38:09       78 阅读
  4. Python语言-面向对象

    2024-05-10 09:38:09       88 阅读

热门阅读

  1. 分布式本地缓存刷新-日常笔记

    2024-05-10 09:38:09       25 阅读
  2. zookeeper之分布式环境搭建

    2024-05-10 09:38:09       30 阅读
  3. Spring事务失效场景

    2024-05-10 09:38:09       36 阅读
  4. Android OpenMAX(七)OMX Service

    2024-05-10 09:38:09       31 阅读
  5. 【48】Camunda8-Self-Managed部署

    2024-05-10 09:38:09       45 阅读
  6. HTTP调用API框架Forest

    2024-05-10 09:38:09       37 阅读
  7. MongoDB 从部署到掌握

    2024-05-10 09:38:09       40 阅读
  8. MongoDB聚合运算符:$toObjectId

    2024-05-10 09:38:09       32 阅读
  9. React 学习-4

    2024-05-10 09:38:09       35 阅读
  10. iOS-SSL固定证书

    2024-05-10 09:38:09       34 阅读
  11. 快速了解Vuex

    2024-05-10 09:38:09       28 阅读
  12. 按键精灵、autojs、冰狐智能辅助到底该如何选择?

    2024-05-10 09:38:09       133 阅读