我正在练习切片,我想运行一个向后打印名称的程序。
主要是,我想知道如何访问序列中的最后一项。
我写了以下内容:
name = raw_input("Enter Your Name: ")
backname = ???
print backname
这是一种合理的方法吗?显然,???
不是我语法的一部分,只是询问应该去哪里。
答案 0 :(得分:3)
要访问序列中的最后一项,请使用:
print name[-1]
这与:
相同print name[len(name) - 1]
反转序列在Python中有一个共同的习惯用法:
backname = name[::-1]
Good primer for Python slice notation问题有更完整的信息。
答案 1 :(得分:1)
backname[-1] #the last item in the sequence
#To reverse backname (the long way):
aList = [c for c in backname] #will give you ['1', '2', ..., 'n']
aList.reverse() #aList will be ['n', ..., '2', '1]
backname = "".join(aList) #backname reversed
#To reverse backname, as other answers replied:
backname[::-1]
答案 2 :(得分:1)
你想要name[::-1]
。 -1是切片的“步骤” - 例如,如果您想要其他所有字母,则使用name[::2]
。
答案 3 :(得分:1)
您可以使用负数索引来访问从列表末尾开始计算的项目,因此name[-1]
将为您提供最后一个字符。但是,第三个切片参数是一个步骤,也可以是负数,因此这将为您提供相反的整个字符串:
name[::-1]
答案 4 :(得分:1)
使用切片语法,您可以使用:
backname = name[::-1]
两个冒号显示切片的前两个参数保留为默认值,因此从开始处理,处理结束,但向后退(-1)。
答案 5 :(得分:0)
您可能想要阅读文档: http://docs.python.org/library/stdtypes.html#sequence-types-str-unicode-list-tuple-buffer-xrange
如果你愿意,有一种方法可以为你翻转字符串。对于您提出的具体问题,要访问序列的最后一项,请使用“seq [-1]”。
答案 6 :(得分:0)
它确实看起来很棒。你的第二行应该是
backname = name[::-1]