一、字符串(String)

1. 定义与特点

  • 字符组成的有序序列,属于不可变类型,创建后不能直接修改单个字符
  • 定义方式:单引号、双引号、三引号

python

运行

s1 = '好好学习'
s2 = "天天向上"
s3 = """多行
文本内容"""

2. 下标取值与切片

下标取值

从 0 开始正数索引,从 - 1 开始倒数索引

python

运行

str1 = "python"
print(str1[0])   # p
print(str1[-1])  # n
切片语法

字符串[起始下标:结束下标:步长]

  • 左闭右开,取不到结束位置
  • 省略起始默认从头开始,省略结束默认到末尾

python

运行

s = "abcdefgh"
print(s[1:5])      # bcde
print(s[:4])       # abcd
print(s[2:])       # cdefgh
print(s[::2])      # 隔一个取一个
print(s[::-1])     # 字符串反转

3. 字符串常用运算符

python

运行

# 拼接
a = "你好" + "Python"
# 重复输出
print("加油" * 3)
# 判断是否包含
print("py" in "python")

4. 高频内置方法

python

运行

s = "  Hello Python  "
# 去除首尾空格
s.strip()
# 左右单侧去空格
s.lstrip()
s.rstrip()

# 大小写转换
s.upper()       # 全部大写
s.lower()       # 全部小写
s.title()       # 首字母大写

# 分割与合并
s.split(" ")            # 按指定字符分割成列表
"_".join(["a","b"])     # 列表拼接成字符串

# 替换内容
s.replace("Hello","Hi")

# 判断开头结尾
s.startswith("He")
s.endswith("on")

# 查找字符位置
s.find("o")    # 找不到返回-1
s.index("o")   # 找不到直接报错

5. 字符串遍历

python

运行

text = "编程学习"
for char in text:
    print(char)

6. 格式化输出

python

运行

name = "小明"
age = 18
# 方式1
print("姓名:%s,年龄:%d" % (name,age))
# 方式2
print(f"姓名:{name},年龄:{age}")

二、Python 数组(列表 List 通用数组)

1. 定义与特点

  • 有序可变序列,可存放数字、字符串、列表、对象任意数据
  • 支持增删改查,使用最广泛

python

运行

# 空数组
arr1 = []
# 数值数组
arr2 = [10,20,30,40]
# 混合类型数组
arr3 = [1,"张三",3.14]

2. 下标取值与切片

用法和字符串完全一致

python

运行

nums = [1,2,3,4,5]
print(nums[0])
print(nums[1:3])
print(nums[::-1])

3. 数组增删改查

增加元素

python

运行

arr = [1,2,3]
arr.append(4)        # 末尾追加
arr.insert(1,99)     # 指定下标插入
arr.extend([5,6])    # 合并另一个数组
删除元素

python

运行

arr.pop()            # 删除最后一个
arr.pop(0)           # 删除指定下标
arr.remove(2)        # 删除指定值
del arr[0]           # 删除下标元素
arr.clear()          # 清空数组
修改元素

python

运行

arr[0] = 100
查询元素

python

运行

print(arr[2])        # 按下标查
print(2 in arr)      # 判断元素是否存在
print(arr.index(3))  # 查找元素下标

4. 数组常用函数与方法

python

运行

nums = [5,2,9,1]
len(nums)          # 获取长度
max(nums)          # 最大值
min(nums)          # 最小值
sum(nums)          # 数组求和

nums.sort()        # 升序排序
nums.sort(reverse=True) # 降序
nums.reverse()     # 数组反转
nums.count(2)      # 统计元素出现次数

5. 数组遍历

python

运行

# 直接遍历元素
for i in nums:
    print(i)

# 按下标遍历
for j in range(len(nums)):
    print(nums[j])

6. 二维数组(嵌套数组)

python

运行

# 表格格式数据
two_arr = [[1,2],[3,4],[5,6]]
# 取值
print(two_arr[0][1])

三、字符串与数组相互转换

1. 字符串 → 列表(数组)

python

运行

# 按空格分割
s1 = "Java Python C++"
list1 = s1.split()

# 按指定符号分割
s2 = "苹果,香蕉,橘子"
list2 = s2.split(",")

2. 列表(数组)→ 字符串

python

运行

li = ["我","爱","编程"]
res = "".join(li)
# 中间加符号拼接
res2 = "-".join(li)

四、核心区别总结

  1. 字符串

    • 不可修改,不能直接修改内部字符
    • 多用于文本处理、信息展示、账号密码
    • 元素只能是字符
  2. 列表数组

    • 灵活可变,随时增删改
    • 多用于数据存储、批量数据处理、项目数据管理
    • 可存放任意类型数据

更多推荐