按索引访问python列表对象
我对python列表索引有问题。 假设有一个列表,我可以通过索引访问列表中的对象。 请看以下代码:按索引访问python列表对象,python,Python,我对python列表索引有问题。 假设有一个列表,我可以通过索引访问列表中的对象。 请看以下代码: 1: x=[["python"],] 2: x[0] 3: ['python'] 4: x[0][0] 5: 'python' 6: x[0][0][0] 7: 'p' 到目前为止还可以,它们是正确的,但我无法理解这一点: 8: x[0][0][0][0] 9: 'p' 10:x[0][0][0][0][0][0][0][0] 11:'p' 事实上我不明白为什么这不是一个错误。 为什么第
1: x=[["python"],]
2: x[0]
3: ['python']
4: x[0][0]
5: 'python'
6: x[0][0][0]
7: 'p'
到目前为止还可以,它们是正确的,但我无法理解这一点:
8: x[0][0][0][0]
9: 'p'
10:x[0][0][0][0][0][0][0][0]
11:'p'
事实上我不明白为什么这不是一个错误。
为什么第8行和第10行不是错误?因为在python中,单个字符(此处为“p”)被视为字符串,每个字符串的0的索引是其第一个字符(例如“p”[0]=“p”)
范例
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
这是因为
x[0][0][0]
返回一个字符串,即“p”
。所以x[0][0][0][0]
是p
,因为字符串“p”
的第一个字符是“p”
尝试这样做:
s = "Hi"
s[0]
s[0][0]
s[0]和s[0][0]都返回“H”单字符是长度为1的退化字符串序列。因为它是一个序列,所以可以使用方括号表示法检索元素。因为它不是空的(is正好有一个元素),所以其中存在第0个元素并且可以检索。什么是
'p'[0]
返回的?