2017-12-21 12 views
-1

問題に取り組もうとしている小さな質問です。 いつそうのようなPythonシェルのステップでこのステップを実行します。ループを使用せずに指定されたインデックスまでリストの要素を削除

lista=[2,4,5,1,2,7,8,12,3,4,0,27,4,9] 

list=list.sort() 
l = list.index(5) 
listfinal= list[l::] 
print(listfinal) 

それが動作するので、それは私にリスト上の非型エラーを与えると私は得ることはありません[list.index(x)の ::]の下の私の機能で:これは、なぜ私に伝えることができる

def remove_menores(list,x): 
    list=list.sort() 
    listfinal= list[list.index(x)::] 
    print(listfinal) 

誰が?

+3

変数 'list'を呼び出さないでください。あらゆる種類の行動の原因であるだけでなく、あなたの実際の目的はそれほど明確ではありません – roganjosh

+0

@roganjoshどこでそれをやったのですか? –

+0

'list = list.sort()' – roganjosh

答えて

2

list.sort()Noneを返すため、戻り値を格納する必要はありません。代わりに、これを試してください:

def remove_menores(list,x): 
    list.sort() 
    listfinal= list[list.index(x)::] 
    print(listfinal) 
+0

'list.sort'は、外部の' lista'を変更します - 潜在的に悪い副作用です - 関数は無意味な副作用を持ってはいけません 'listfinal = sorted(lst)[lst.index(x)::]'外部の 'lista' – f5r5e5d

関連する問題