章节
问答
课签
笔记
评论
占位
占位

Python按索引访问list

由于列表list是一个有序的容器,所以在list里面,每一个元素都有一个唯一的位置,我们称之为索引(index),这和字符串是类似的,因此我们也可以通过位置的方式获取list中的元素,回顾一下前面学习的,我们通过中括号[]来按位置访问对应的元素。
注意,这里要注意区分,列表的定义也是通过中括号[]来定义的,但这和通过索引访问列表里面的元素并不冲突

names = ['Alice', 'Bob', 'David', 'Ellena']
print(names[0])
print(names[1])
print(names[2])
print(names[3])

由于names只有四个元素,所以我们最多只能通过索引3访问到最后一个元素。试想一下,如果我们print(names[4]),会怎么样?

names = ['Alice', 'Bob', 'David', 'Ellena']
print(names[4])

事实上,这会引起Python运行的错误,提示索引访问超出范围。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

因此,我们在使用索引的方式访问列表时,一定要特别注意不要越界。
同时,列表和字符串一样,也支持切片,通过切片的方式,获取到列表的子列表。

names = ['Alice', 'Bob', 'David', 'Ellena']
sub_names = names[0:2]
print(sub_names)

这里需要注意一下,如果我们越界切片的话,不会出现Python运行错误,但是按照这样的下标去切片,获取不到任何元素。

names = ['Alice', 'Bob', 'David', 'Ellena']
sub_names = names[5:10]
print(sub_names) # ==> []

任务

五名同学的成绩可以用一个list表示:L = [95.5, 85, 59, 66, 72],请按照索引的方式分别打印出第一名、第二名、第三名。

?不会了怎么办

参考答案:

L = [95.5, 85, 59, 66, 72]
print(L[0])
print(L[1])
print(L[4])
||
1
2
# Enter a code
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最赞回答 / 慕后端8054109
切片操作原理分析在Python中,对于列表的切片操作L[start:stop],它会返回一个新的列表,其中包含从索引start(包含)到索引stop(不包含)的元素。当使用L[0:2]时,它表示从索引0开始(包含索引0对应的元素),到索引2(不包含索引2对应的元素)。所以会取到索引为0和1的元素,而不是0、1、2三个索引对应的元素。示例说明L[0:2],索引0对应的元素是95.5,索引1对应的元素是85,所以sub_L为[95.5, 85]。以L = [95.5, 85, 59, 66, 72]为例:如果...

最新回答 / 慕神1197574
这句代码的作用是把列表names的前两个值赋值给变量sub_names,其中sub_names和names是变量名,[0:2]是列表的索引区间。

最新回答 / 一路庚心
切片的含义, names[0,2]  意思是取names列表中第1个到第3个元素,不含第三个

最新回答 / weixin_慕慕3548851
从原始序列获取索引0和1的元素,不包括2的获取范围

最新回答 / 烟搓搓
代码前面添加#coding=utf-8

最赞回答 / qq_慕神4044404
scores = [95.5, 85, 59, 66, 72]scores.sort(reverse=True)print(scores[:3])

最赞回答 / 海岸边滴树
L.sort(reverse=True)

讲师回答 / 咚咚呛
是的,应该是五个同学才对,非常细心,感谢同学。
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?
代码语言

账号登录 验证码登录

遇到问题
忘记密码