首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么排序列表不返回任何内容?

为什么排序列表不返回任何内容?
EN

Stack Overflow用户
提问于 2017-02-10 22:20:50
回答 1查看 4.9K关注 0票数 0

我的代码是用python 3编写的,用来打印回文。它应遍历所有2-3位数字的回文积,如下所示:

代码语言:javascript
复制
mylist=[]
for i in range(999,99,-1):
    for x in range(999, i-1, -1,):
        number=i*x
        number=str(number)
        if number==number[::-1]:
            #print(number)         
            mylist.append(number)
mylist=mylist.sort(reverse=True)
print(mylist)

注意注释掉的打印。当它还在的时候,所有应该打印出来的回文都出来了。当我在没有print语句的情况下运行我的代码时,控制台只输出'None‘。

据我所知,我的逻辑是有序的,那么为什么会发生这种情况呢?编辑:同样,当我按反序排序我的列表时,99999排在第一位。我想这是因为巨蟒看了看连续的9个,并认为它是最大的。然而,有一个简单的方法来获得实际的最大数字吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-10 22:22:06

list.sort()总是不返回任何(列表是按位置排序的)。您需要的是sorted(list),它返回一个新的排序列表。

然后你就可以这样分类了:

代码语言:javascript
复制
mylist = [int(x) for x in mylist]
mylist.sort(reverse=True)
mylist = [str(x) for x in mylist]
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42169571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档