Python-在return语句中使用方法

时间:2019-03-10 11:50:55

标签: python python-3.x list function

我一直在进行一些编程练习,并且注意到了一些奇怪的事情。 下面的代码试图在一个元组中使用艺术家名称和销售并创建两个列表(艺术家和销售),并使列表中的项目按顺序排序。 (按字母顺序,从大到小)

def sort_artists(artist_list):

    artists = []
    sales = []

    for artist_tuple in artist_list:

        artists.append(artist_tuple[0])
        sales.append(artist_tuple[1])

    return (artists.sort(), sales.sort(reverse = True))

artists = [("The Beatles", 270.8), ("Elvis Presley", 211.5), ("Michael Jackson", 183.9)]
print(sort_artists(artists))

当我在return语句中使用sort()方法时,结果是

(None, None)

但是,如果我说

artist.sort()
sales.sort(reverse = True)

return (artist, sales)    

然后它给了我想要的输出。

我以为Python首先解决了最里面的部分,所以我真的不知道为什么在上述情况下它不返回None。

提前谢谢!

0 个答案:

没有答案