python程序显示在排序的ord中排列列表元素的错误

2024-04-27 00:56:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写这个程序是为了将子列表中的所有元素连接到一个结果空列表中,然后对返回的结果列表进行排序。但是在我运行这个程序之后,我得到了一个不寻常的输出。我在控制台屏幕上得到None。 这个代码有什么问题?你知道吗

n=[[44,45,76,8,678,24,24],[45,45737,45,7373]]

def makelist(lis):
     result= []
     for i in lis:
         for j in i:
           result.append(j)
     return result

print makelist(n).sort()

Tags: 代码in程序none元素列表for屏幕
3条回答

makelist(n).sort()不返回任何内容

你喜欢吗

temp = makelist(n)
temp.sort()
print temp

给定一个list lst,然后调用sort将对列表进行适当的排序,但它不会返回已排序的列表。你知道吗

示例解决方案:

# Make this work in Python2 and Python3
from __future__ import print_function

import itertools


n=[[44,45,76,8,678,24,24],[45,45737,45,7373]]

def makelist(lis):
     result= []
     for i in lis:
         for j in i:
           result.append(j)
     return result

# Variation 1
print(sorted(makelist(n)))

# Variation 2
lst = makelist(n)
lst.sort()
print(lst)

# Variation 3 (replacing the makelist flattening operation)
lst = list(itertools.chain.from_iterable(n))
lst.sort()
print(lst)
n=[[44,45,76,8,678,24,24],[45,45737,45,7373]]

def makelist(lis):
 result= []
 for i in lis:
     for j in i:
       result.append(j)
 return result

这一切都可以。现在运行:

y = makelist(n)
y.sort()
print y

您的列表将被排序并存储在“y”变量中。你知道吗

相关问题 更多 >