首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按索引访问python列表对象

按索引访问python列表对象
EN

Stack Overflow用户
提问于 2015-06-05 10:24:04
回答 3查看 136关注 0票数 2

我对python列表索引有问题。假设有一个列表,并且我按索引访问列表中的对象。看看这段代码:

代码语言:javascript
复制
1: x=[["python"],]

2: x[0]
3: ['python']

4: x[0][0]
5: 'python'

6: x[0][0][0]
7: 'p'

到现在为止还好,他们是对的,但我不明白:

代码语言:javascript
复制
8: x[0][0][0][0]
9: 'p'
10:x[0][0][0][0][0][0][0][0]
11:'p'

实际上,我不明白为什么这不是一个错误。为什么第8行和第10行不是错误?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-05 10:27:00

因为单字符(此处为"p")在python中被视为字符串,每个字符串的索引为0是它的第一个字符(例如"p"=="p")。

示例

代码语言:javascript
复制
x[0][0][0][0] # "p" as a string (Given)
x[0][0][0][0][0] #"p" as a first character 
                 # of previous string as when 
                 # you write "p"[0]

"p"[0] # remember also prints "p" as it is 
       #  the first char
票数 6
EN

Stack Overflow用户

发布于 2015-06-05 10:31:41

这是因为x[0][0][0]返回一个字符串,即"p"。所以x[0][0][0][0]p,因为字符串"p"的第一个字符是"p"

试着这样做:

代码语言:javascript
复制
s = "Hi"
s[0]
s[0][0]

S和s都返回"H“

票数 0
EN

Stack Overflow用户

发布于 2015-06-05 10:43:16

单字符是长度为1的退化字符串序列,因为它是序列,所以可以使用方括号表示法检索元素。因为它不是空的(is只有一个元素),所以第0元素在其中存在,并且可以被检索。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30664184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档