python中关于reverse的代码应该怎么打 python 排序 def reversed_cmp(x, y):
python中关于reverse的代码应该怎么打?
题目不允许使用reversed或者[::-1],下面另外提供两种方法。
1. 反向for循环
def reverse(text):
ret = ""
for i in range(len(text)-1, -1, -1):
ret = ret   text[i]
return ret
print reverse("#ab@cd!")
2. 递归
def reverse(text):
n = len(text) -  if (n == 0):
return text[0]
else:
return text[n]   reverse(text[:n])
print reverse("#ab@cd!")
python 排序 def reversed_cmp(x, y):
我来解答你的疑问:
1. 如果默认的排序规则不能满足需求,当然要自己写了.比如默认的是从小到大排序,你想从打大到小排序,就得自己写了,在比如,汉字排序,你想用汉字的拼音来排序,也要自己写.
2. 函数里return之后,这个函数就结束了,之后的语句就不执行了.如果还是不明白,你要看看python基础里的Python语句执行流程.
3. 排序有很多方法,内部的算法做了很多优化,就光排序的算法就可以写一本书了,里面的具体细节不用深究.
4. 另外,为什么返回-1的问题. 不知道你有没有其他编程语言的背景,知不知道什么是重载.如果自己写排序规则,第二个参数是一个函数.
你完全没搞懂他的意思,而且你的python基础太差了.
Python中怎么向sorted()传递参数reverse=True
1、查看sorted()函数的帮助信息。sorted(iterable,/,*,key=None,reverse=False)。
2、iterable可迭代的对象。sorted对对象排序,返回的对象不会改变原对象。
3、key根据自定义规则来排序。字符串排序key默认则按照首字母排序,指定key以后按照指定规则排序。参数reverse默认值为False,表示正序,reverse=True表示倒序。
4、对元组列表进行排序,分别按照元组的不同对象,可以选定任意位置排序。
5、对字典的操作,可以在key中的lambda设置更多条件。