答えて
ための作品あなたが最後のn個の要素を削除したい場合は、他の言葉で、最初のlenを保つ - n個の要素:
lst = lst[:len(lst)-n]
注:これではありませんメモリ動作中である。コピーを作成します。
これは実際に多くの影響を与えることはありませんが、これは実際にn番目の要素までリストのコピーを作成することに注意してください – jamylak
ああ:) :)ノートを作った – karthikr
これはどのように受け入れられた答えになることができますか?それは正しい結果を与えることさえできません。 – Vincenzooo
n >= 1
>>> L = [1,2,3, 4, 5]
>>> n=2
>>> del L[-n:]
>>> L
[1, 2, 3]
これは、他の回答と同じ問題が言及されています.n <= 0.(リストを削除すると0、リストの先頭から<0を削除します。リストをコピーする余裕があればLuca Citiのスライス解答が良いと思います。そうでなければn> 0のチェックが必要です。 –
@DanielB。 n <= 0では動作しませんが、単純な解決策であり、多くのユースケースのニーズを解決できます。また、Pythonを初めて使う人にも役立ちます。誰もが任意のソリューションを使用するように自由に感じることができるので、私たちはさまざまなものを持っています – jamylak
私は、これはずっと前に頼まれたが、見る私のためにそれをやった回答なし;最後のN個の要素がないリストを取得したいが、オリジナルの要素を保持したい場合はどうすればよいでしょうか:ただlist[:-n]
を実行します。 n
が0
に等しいケースを処理する必要がある場合は、list[:-n or None]
を実行します。
>>> a = [1,2,3,4,5,6,7]
>>> b = a[:-4]
>>> b
[1, 2, 3]
>>> a
[1, 1, 2, 3, 4, 5, 7]
簡単なことですが、
これはpythonic
が私には役に立たず、隠れたバグや混乱を招く場合の1つです。 n = 0の場合は、上記の解決法はどれも動作しません。一般的なケースでl[:len(l)-n]
作品を使用して :
l=range(4)
for n in [2,1,0]: #test values for numbers of points to cut
print n,l[:len(l)-n]
これは、あなたが何かをカットしていない可能性を残しておきたいベクトルのエッジをトリミングする機能の例に便利です。
Vincenzoooが正しく言うように、lst[:-n]
はn==0
のときには機能しません。
すべてn>=0
に対して次の作品:どれも省略する必要がない場合は(最後のn個の要素またはnoneを省略スライスを返す」:それはあまりにも種類の読みやすい英語であるため、
lst = lst[:-n or None]
私は、このソリューションが好き)」。
このソリューションは、理由の作品次
x or y
はx
が(例えば、それがないとき0
、""
、False
、None
、...)、論理的に真であるときx
に評価し、それ以外にy
。したがって、-n or None
は、n!=0
との場合はNone
の場合、-n
です。- スライスする場合、
None
は値を省略することと同等です。したがって、lst[:None]
はlst[:]
と同じです(hereを参照)。
このソリューションは、はるかにPythonicとPEP8フレンドリーです。それは0の場合を説明しているので特に優れています。しかし、質問されたように質問に答えるためには、 "lst = lst [: - n or None]"のような代入に答えを変えたいかもしれません。 –
- 1. numpy.ndarrayの最後のN個の要素を削除した後のメモリ
- 2. 最後のn個の要素
- 3. idで0の最後のn行を削除し、最後にidで最後のn個の要素を削除します。
- 4. リストから最初のN個の素数を削除する(プロローグ)
- 5. mongodb配列から最初のn個の要素を削除するには?
- 6. anglejsのリストから最後の要素を削除します
- 7. リストのリストの最後の2つのリストの最後の要素を削除する
- 8. javascript最後のN個の要素だけを含む配列
- 9. リストnをn個の要素で移動する方法
- 10. matlabで行列の最後のn要素を削除するには?
- 11. 配列から最後のN個の要素を除くすべての要素を削除するにはどうすればよいですか?
- 12. N個のランダムなオブジェクトを削除する最速の方法
- 13. 配列から最後のn個の要素を取得する方法
- 14. リストからn番目の要素を削除
- 15. 最後の要素を取り除いて最後の要素を削除する
- 16. Common Lispでリストの最初のn個の要素を取得しますか?
- 17. \を削除するn個のプログラム
- 18. リストから '\\ n \\ t \\ t \\ t'要素を削除する
- 19. コピーすることなくバイトオブジェクトの最初のn個の要素を削除します。
- 20. 行削除後のWeb要素のリストを更新する
- 21. C++でarrayの最後のn個の要素をローテートします
- 22. PrologリストでN個の要素をスキップする
- 23. DOMの要素の最後の子を削除するには?
- 24. RxJava2のリストから一度にn個の要素を取る
- 25. リストの要素を削除する
- 26. グループのN個の最高/最低要素の平均
- 27. RxJS - 観測対象から最後のn個の要素を取り出す
- 28. java.util.Setの最後の要素を削除するには?
- 29. Divの最後の要素を削除する[JavaScript]
- 30. 角度要素の最後の子を削除する方法
リスト 'list'を呼び出さないでください。または組み込みの 'list'クラス – jamylak
Danielを使用できない場合は、この質問に適切な回答(Luca Citi)を選択してください。 – Sheljohn