返回除python中字符串的第一个字母之外的所有内容

时间:2017-02-01 20:13:18

标签: python

所以我理解如何返回python中字符串中第一个字母的所有内容。我想知道为什么以特定方式编码它不起作用。我的教授告诉我,除了字符串的第一个字母外,它会返回一切,看起来像这样......

a =' garden'

a [1:len(a) - 1]

但是当我在翻译中运行时,我得到了

' ARDE'而不是' arden'。

我知道len(a) - 1返回5并且a的第五个指数是n。如果我说像

这样的话

a [1] + a [2] + a [3] + a [4] + a [5]

我回来了......

'阿登'

那我错过了什么?我觉得这只是python的一些细微差别,我应该注意到这一点,我只是想确保我没有遗漏一些重要的东西。谢谢!

3 个答案:

答案 0 :(得分:0)

Python中的数组索引基于零。

尝试:     a ='花园'

a[:-1]

输出:

garde

请注意,如果未指定起始索引,则假定为零。

答案 1 :(得分:0)

Python切片[j:k]来自位置 j ,在从零开始的索引中,直到但不包括位置k。因此,[1:5]可以获得元素1,2,3和&amp; < - >包含4 - 5(第六元素)。

正如 Foon 已经注意到,这样做的规范方法就是

a[1:]

假设缺失切片值为“合理”结束:左侧为0,右侧为-1(最后一个元素),间隔为1(通常省略)。因此,复制整个字符串或列表的典型方法是使用

new = old[:]

答案 2 :(得分:0)

虽然EnginnerCamp已经回答了这里的例子,但是可以帮助你。

数组从零开始,因此字符串存储为

0  1  2  3  4  5
g  a  r  d  e  n

此字符串的长度为 6 但是,因为我们从零开始计数,所以字符串数组中的最后一个字符位于 5 位置。

当您运行a[1:len(a) - 1]时,您提供的指示是;

take string a                      'garden'
start at position 1                'a' (because the 'g' is at position 0)
find the length of a                6
subtract 1                          5
end at the 5th item BUT start at 0 'e'

因此,您的输出字符串来自您的代码arde

要获取之外的所有内容,您应该使用a[1:]

开始时会让你感到沮丧,然后在练习时变得自然。