2016-04-11 10 views
0

この問題をどうやって解決できますか?python3 'Nontype object'にサブスクリプトがありません

def median(lst): 
    lst_s=lst.sort() 
    k=len(lst) 

    if k%2==0: 
     return ((lst_s[k/2]+lst_s[k/2-1])/2) 
    elif k%2==1: 
     return (lst_s[k/2-1/2]) 

res = median([1,2,3,7,6,5]) 
print('median:',res) 

私はこれを実行すると、それは問題が代わりにlist.sort()種類のリストの項目は、このようにNoneを返すことである

Traceback (most recent call last): 
    File "E:\lab5_p4_2015123176.py", line 13, in <module> 
    res = median([1,2,3,7,6,5]) 
    File "E:\lab5_p4_2015123176.py", line 7, in median 
    return ((lst_s[k/2]+lst_s[k/2-1])/2) 
TypeError: 'NoneType' object is not subscriptable 
+2

なぜ「return list.sort()」がリストを返さないのですか?](http://stackoverflow.com/questions/7301110/why-does-return-list-sort-return-リストなし –

答えて

0

言います。 median関数では、元のリストの要素の順序を変更しない場合は、lst_s = lst.sort()lst_s = sorted(lst)と置き換える必要があります。

関連する問題