以下代码将打印’False’
def function(x): if len(x) == 5: return True else: return x[0] == x[-1]print function('annb')
为什么行“else:return x [0] == x [-1]”print False?
我确实理解发生了什么,但我很难将其变成简单的英语……这种行为怎么能被描述?
这是一种常用/常用的“技术”吗?
在尝试解决回文运动recursivley时,我首先遇到了这种特殊的语法.似乎使递归工作的唯一方法是使用这种速记方法:
def ispalindrome(s): if len(s) <= 1: return True else: return s[0] == s[-1] and ispalindrome(s[1:-1])print ispalindrome('anna')
谢谢
巴巴
return (x[0] == x[-1])
如果您只考虑括号内的内容,您会意识到,’语句’等同于布尔值,对吧?这就是你也可以这样做的原因:
if x[0] == x[-1]
所以基本上,这里返回的是一个布尔值,表示x [0]是否等于[-1].
可以更明确地将此语句扩展为以下内容:
if x[0] == x[-1]: # if this is true return True # then return trueelse: return False
但正如你所看到的,条件和你想要返回的内容都是相同的值,所以你只需要像你看到的那样简写:
return x[0] == x[-1]
对不起,如果我误解了你的问题.
编辑:如果你提到负指数(x [-1]),在Python中,负指数基本上是“环绕”,所以其中x [0]将是从“从左到右”的第一个元素,所以到说,x [-1]循环,这是从“从右到左”的第一个元素.
总结以上是内存溢出为你收集整理的python – 关于返回表达式全部内容,希望文章能够帮你解决python – 关于返回表达式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)