只需要使用列表的一部分时,可以考虑创建切片,可指定要使用的第一个元素的索引和最后一个元素的索引加1,与函数range()一样,python在到达你指定的第二个索引前面停止
提取列表的前3个元素
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
print(days[0:3])
// 输出结果为:
['Monday', 'Tuesday', 'Wednesday']
提取列表的2~4个元素
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
print(days[1:4])
//输出结果为:
['Tuesday', 'Wednesday', 'Thursday']
如果没有指定第一个元素,python将自动从列表开头开始
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
print(days[:4])
//输出结果为:
['Monday', 'Tuesday', 'Wednesday', 'Thursday']
如果没有指定最后一个元素,python将自动提取到结尾
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
print(days[1:])
//输出结果为:
['Tuesday', 'Wednesday', 'Thursday', 'Friday']
用负数索引提取元素,如提取最后三个元素
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
print(days[-3:])
//输出结果为:
['Wednesday', 'Thursday', 'Friday']
遍历切片
如果要遍历列表的部分元素,可在for循环中使用切片,如下:
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
for day in days[2:5]:
print(day)
//输出结果为:
Wednesday
Thursday
Friday
复制列表
要复制列表,可创建一个包含整个列表切片,方法是同时省略第一个索引和最后索引,如下:
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
new_days = days[:]
print(new_days)
//输出结果为:
['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']