博客
关于我
Python基础入门(十三)-切片
阅读量:599 次
发布时间:2019-03-12

本文共 1249 字,大约阅读时间需要 4 分钟。

列表切片操作符及其应用

在Python中,列表切片操作符是处理列表数据的强大工具。通过切片操作符可以方便地提取列表中的一部分数据,满足不同的需求。

1. 切片(Slice)操作符

1.1 切片操作基本概念

切片操作符在Python中使用 [] 表示,格式为 [起始索引:结束索引:步长]

  • 起始索引:表示切片从哪个位置开始,默认为0。
  • 结束索引:表示切片到哪个位置结束,不包括该位置。
  • 步长(可选):表示每隔多少个元素取一个,默认为1。

1.2 常见切片示例

L = ['Adam', 'Lisa', 'Bart', 'Paul']
# 取前3个元素
L[0:3] # 输出: ['Adam', 'Lisa', 'Bart']
# 从索引1开始,取2个元素
L[1:3] # 输出: ['Lisa', 'Bart']
# 取整个列表
L[::] # 输出: ['Adam', 'Lisa', 'Bart', 'Paul']
# 取每隔一个元素(从索引0开始)
L[::2] # 输出: ['Adam', 'Bart']

2. 倒序切片

倒序切片可以通过负数索引来实现,负数索引表示从列表末尾开始数。

  • 最后一个元素的索引是-1,倒数第二个是-2,依此类推。

2.1 倒序切片示例

L = range(1, 101)  # 生成1到100的整数列表
# 取倒数10个元素
L[-10:] # 输出: [91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
# 从中间位置开始倒序切片
L[54::5] # 输出: [55, 60, 65, 70, 75, 80, 85, 90, 95, 100]

3. 字符串切片

字符串也支持切片操作,切片结果仍为字符串。

  • 字符串可以看作是不可变的列表,每个元素是一个字符。

3.1 字符串切片示例

# 取前3个字符
'ABCDEFG'[:3] # 输出: 'ABC'
# 取最后3个字符
'ABCDEFG'[-3:] # 输出: 'EFG'
# 每隔一个字符取一个
'ABCDEFG'[:2] # 输出: 'AC'
# 将字符串转换为大写
'abc'.upper() # 输出: 'ABC'

练习

练习1

设计一个函数,接受一个字符串,返回一个仅首字母变成大写的字符串。

def capitalize_string(s):
return s[0].upper() + s[1:]

练习2

使用切片操作提取列表 L = range(1, 101) 中的第1到10项,并从倒数位置开始提取10个元素。

L = list(range(1, 101))
# 输出1到10
print(L[1:10])
# 输出91到100
print(L[-10:])

练习3

验证以下代码是否正确:

def greet(name):
return f"Hello {name}!"

输出结果:

Hello Sunday!

转载地址:http://twcxz.baihongyu.com/

你可能感兴趣的文章
Objective-C实现以递归的形式MatrixExponentiation矩阵求幂算法 (附完整源码)
查看>>
Objective-C实现优先队列算法(附完整源码)
查看>>
Objective-C实现伽玛Gamma函数(附完整源码)
查看>>
Objective-C实现位置型pid算法(附完整源码)
查看>>
Objective-C实现低通滤波器(附完整源码)
查看>>
Objective-C实现使用数组实现约瑟夫环(附完整源码)
查看>>
Objective-C实现使用管道重定向进程输入输出(附完整源码)
查看>>
Objective-C实现倒计时(附完整源码)
查看>>
Objective-C实现借记款项功能(附完整源码)
查看>>
Objective-C实现关系矩阵A和B的乘积(附完整源码)
查看>>
Objective-C实现关系矩阵乘法(附完整源码)
查看>>
Objective-C实现关系矩阵乘法(附完整源码)
查看>>
Objective-C实现关键字移位字母表密码算法(附完整源码)
查看>>
Objective-C实现内存映射文件(附完整源码)
查看>>
Objective-C实现内存泄露检查(附完整源码)
查看>>
Objective-C实现内格尔·施雷肯伯格算法(附完整源码)
查看>>
Objective-C实现几何级数的总和算法 (附完整源码)
查看>>
Objective-C实现分块查找算法(附完整源码)
查看>>
Objective-C实现分块查找算法(附完整源码)
查看>>
Objective-C实现分水岭算法(附完整源码)
查看>>