GVKun编程网logo

为什么'.sort()'在Python中导致列表为'None'?(python列表sort和sorted)

18

在这篇文章中,我们将为您详细介绍为什么'.sort的内容,并且讨论关于'在Python中导致列表为'None'?的相关问题。此外,我们还会涉及一些关于list()函数在Python中做什么?、Pyth

在这篇文章中,我们将为您详细介绍为什么'.sort的内容,并且讨论关于'在Python中导致列表为'None'?的相关问题。此外,我们还会涉及一些关于list()函数在Python中做什么?、Python .sort()无法按预期工作、Python 3中的Python 2 dict_items.sort()、Python-为什么“ return list.sort()”返回None,而不返回列表?的知识,以帮助您更全面地了解这个主题。

本文目录一览:

为什么'.sort()'在Python中导致列表为'None'?(python列表sort和sorted)

为什么'.sort()'在Python中导致列表为'None'?(python列表sort和sorted)

我正在尝试对的Python列表进行排序int,然后使用该.pop()函数返回最高的列表。我尝试过以不同方式编写方法:

def LongestPath(T):        paths = [Ancestors(T,x) for x in OrdLeaves(T)]    #^ Creating a lists of lists of ints, this part works    result =[len(y) for y in paths ]    #^ Creating a list of ints where each int is a length of the a list in paths    result = result.sort()    #^meant to sort the result    return result.pop()    #^meant to return the largest int in the list (the last one)

我也尝试过

def LongestPath(T):    return[len(y) for y in [Ancestors(T,x) for x in OrdLeaves(T)] ].sort().pop()

在这两种情况下,.sort()都会导致列表变为None(没有.pop()功能并返回错误)。当我删除.sort()
它时,它工作正常,但int由于列表未排序,因此不会返回最大的值。

答案1

小编典典

只需从

result = result.sort()

刚离开

result.sort()

sort方法就地工作(它修改了现有列表),因此不需要赋值,并返回None。将结果分配给列表名称时,即为None

它可以轻松(并且更有效地)编写为单行代码:

max(len(Ancestors(T,x)) for x in OrdLeaves(T))

max线性时间为O(n),而排序为O(nlogn)。您也不需要嵌套列表推导,只需一个生成器表达式即可。

list()函数在Python中做什么?

list()函数在Python中做什么?

我知道list()构造函数会创建一个新列表,但是它的特征到底是什么?

  1. 打电话时会list((1,2,3,4,[5,6,7,8],9))怎样?

  2. 打电话时会list([[[2,4]]])怎样?

  3. 打电话时会list([[1,3],[4,5,6]])怎样?

据我所知,调用构造函数list会删除最外面的花括号(元组或列表),并将其替换为[]。这是真的?还有什么其他细微差别list()

Python .sort()无法按预期工作

Python .sort()无法按预期工作

在一个安静的星期六晚上解决一些拼图问题(wooohoo
…没问题),并在sort()上挣扎。结果并不完全符合我的预期。该程序从100到999的每个组合中进行迭代,并检查产品是否为回文。如果是,请追加到列表。我需要排序的列表:D这是我的程序:

list = [] #list of numbers

for x in xrange(100,1000): #loops for first value of combination
  for y in xrange(x,1000): #and 2nd value
    mult = x*y
    reversed = str(mult)[::-1] #reverses the number
    if (reversed == str(mult)):
      list.append(reversed)

list.sort()
print list[:10]

哪些网:

['101101','10201','102201','105501','106601','108801','110011']

显然索引0大于1。知道发生了什么吗?我觉得它与尾随/前导零有关,但是我快速浏览了一下,但看不到问题所在。

奖励积分,如果您知道谜题来自哪里:P

Python 3中的Python 2 dict_items.sort()

Python 3中的Python 2 dict_items.sort()

我正在将一些代码从Python 2移植到3。这是Python 2语法中的有效代码:

def print_sorted_dictionary(dictionary):  
    items=dictionary.items()  
    items.sort()

在Python 3中,dict_items没有方法’sort’-如何在Python 3中解决此问题?

Python-为什么“ return list.sort()”返回None,而不返回列表?

Python-为什么“ return list.sort()”返回None,而不返回列表?

如何解决Python-为什么“ return list.sort()”返回None,而不返回列表??

list.sort对列表进行适当排序,即不返回新列表。写吧

newList.sort()
return newList

问题在这里:

answer = newList.sort()

sort不返回排序列表;而是将列表排序到位。

采用:

answer = sorted(newList)

解决方法

我已经能够验证findUniqueWords结果是否为sorted list。但是,它不返回列表。为什么?

def findUniqueWords(theList):
    newList = []
    words = []

    # Read a line at a time
    for item in theList:

        # Remove any punctuation from the line
        cleaned = cleanUp(item)

        # Split the line into separate words
        words = cleaned.split()

        # Evaluate each word
        for word in words:

            # Count each unique word
            if word not in newList:
                newList.append(word)

    answer = newList.sort()
    return answer

关于为什么'.sort'在Python中导致列表为'None'?的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于list()函数在Python中做什么?、Python .sort()无法按预期工作、Python 3中的Python 2 dict_items.sort()、Python-为什么“ return list.sort()”返回None,而不返回列表?的相关知识,请在本站寻找。

本文标签: