01
序列[开始位置 : 结束位置 : 步长]# sequence[start : stop : step]
序列[开始位置 : 结束位置 : 步长]
# sequence[start : stop : step]
02
# 这是一个列表,但切片对元组和字符串同样适用nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 取出索引 2 到 5 的元素# 包含索引2,不包含索引6print(nums[2:6]) # 输出: [2, 3, 4, 5]
# 这是一个列表,但切片对元组和字符串同样适用
nums = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 取出索引 2 到 5 的元素
# 包含索引2,不包含索引6
print(nums[2:6])
# 输出: [2, 3, 4, 5]
print(nums[:5]) # 取前5个: [0, 1, 2, 3, 4]print(nums[5:]) # 从第5个取到最后: [5, 6, 7, 8, 9]print(nums[:]) # 完整拷贝一份: [0, 1, ... 9]
print(nums[:5]) # 取前5个: [0, 1, 2, 3, 4]
print(nums[5:]) # 从第5个取到最后: [5, 6, 7, 8, 9]
print(nums[:]) # 完整拷贝一份: [0, 1, ... 9]
03
s = "PythonProgramming"# 每隔1个字符取1个(步长为2)print(s[::2]) # 输出: PtoPormig
s = "PythonProgramming"
# 每隔1个字符取1个(步长为2)
print(s[::2])
# 输出: PtoPormig
nums = [1, 2, 3, 4, 5]# 列表反转print(nums[::-1]) # 输出: [5, 4, 3, 2, 1]# 倒序取一段 (注意 start 要在 stop 的右边)# 从索引 4 开始,倒着取到索引 1(不含)print(nums[4:1:-1]) # 输出: [5, 4, 3]
nums = [1, 2, 3, 4, 5]
# 列表反转
print(nums[::-1])
# 输出: [5, 4, 3, 2, 1]
# 倒序取一段 (注意 start 要在 stop 的右边)
# 从索引 4 开始,倒着取到索引 1(不含)
print(nums[4:1:-1])
# 输出: [5, 4, 3]
04
data = [1, 2, 3]# print(data[100]) # ❌ 报错!IndexErrorprint(data[1:100]) # ✅ 不报错,输出: [2, 3]
data = [1, 2, 3]
# print(data[100]) # ❌ 报错!IndexError
print(data[1:100]) # ✅ 不报错,输出: [2, 3]
list_a = [1, 2, 3]list_b = list_a[:] # 切片拷贝list_b[0] = 999print(list_a) # [1, 2, 3] (原列表没变)print(list_b) # [999, 2, 3]
list_a = [1, 2, 3]
list_b = list_a[:] # 切片拷贝
list_b[0] = 999
print(list_a) # [1, 2, 3] (原列表没变)
print(list_b) # [999, 2, 3]
05
filename = "report_2024.csv"# 假设我们不知道文件名多长,只想取后3位suffix = filename[-3:] print(suffix) # csv
filename = "report_2024.csv"
# 假设我们不知道文件名多长,只想取后3位
suffix = filename[-3:]
print(suffix) # csv
# 求 0-100 之间所有偶数的和?# 不需要写循环判断 if i % 2 == 0numbers = list(range(101))evens = numbers[::2] # 利用切片直接取出偶数print(sum(evens))
# 求 0-100 之间所有偶数的和?
# 不需要写循环判断 if i % 2 == 0
numbers = list(range(101))
evens = numbers[::2] # 利用切片直接取出偶数
print(sum(evens))
06