タグ付けされた質問 「list」

リストタグは、リンクリスト(順序付けられたノードのセットで、それぞれが後続ノードを参照する)、または動的配列の形式を参照できます。HTMLリストには使用しないで、代わりに[html-lists]を使用してください。

18
インデックスによってリストから要素を削除する方法
Pythonでインデックスからリストから要素を削除するにはどうすればよいですか? list.removeメソッドを見つけましたが、最後の要素を削除したいのですが、どうすればいいですか?デフォルトの削除ではリストが検索されるようですが、検索を実行したくありません。
1506 python  list 

27
List <T>を継承しないのはなぜですか?
私のプログラムを計画するとき、私はしばしば次のような一連の思考から始めます。 サッカーチームは、サッカー選手のリストにすぎません。したがって、私はそれを次のように表現する必要があります: var football_team = new List&lt;FootballPlayer&gt;(); このリストの順序は、プレーヤーが名簿にリストされている順序を表しています。 しかし、後でチームが記録する必要があるのは、単なるプレーヤーのリストに加えて、他のプロパティもあることに気づきました。たとえば、今シーズンのスコアの累計、現在の予算、均一な色、stringチームの名前を表すなど。 だから私は思う: さて、サッカーチームは選手のリストのようなものですが、それに加えて、名前(a string)と現在の合計スコア(an int)があります。.NETはサッカーチームを格納するためのクラスを提供していないため、自分でクラスを作成します。最も類似し、関連する既存の構造はList&lt;FootballPlayer&gt;なので、それを継承します。 class FootballTeam : List&lt;FootballPlayer&gt; { public string TeamName; public int RunningTotal } しかし、ガイドラインでは、から継承してはならないList&lt;T&gt;ことがわかっています。このガイドラインは2つの点で完全に混乱しています。 何故なの? どうやらList、何らかの形でパフォーマンスが最適化されています。どうして?拡張すると、どのようなパフォーマンスの問題が発生しListますか?正確には何が壊れますか? 私が見たもう1つの理由Listは、Microsoftから提供されたものであり、私はそれを制御できないため、「パブリックAPI」を公開した後で後で変更することはできません。しかし、私はこれを理解するのに苦労しています。パブリックAPIとは何ですか。なぜ気にする必要があるのですか。現在のプロジェクトにこのパブリックAPIが含まれていない可能性がある場合、このガイドラインを無視しても安全ですか?私は、継承を行う場合List と、、それは私が公共のAPIを必要と判明し、どのような困難私が持っているのだろうか? なぜそれが重要なのですか?リストはリストです。何が変わる可能性がありますか?何を変更したいですか? そして最後に、Microsoftがからの継承を望まないのであればList、なぜ彼らはクラスを作らなかったのでしょうか。sealedですか? 他に何を使うべきですか? どうやら、カスタムコレクションの場合、Microsoft Collectionはの代わりに拡張する必要のあるクラスを提供していListます。しかし、このクラスは非常に裸であり、たとえばなどAddRange、多くの有用なものはありません。jvitor83の答えは、その特定のメソッドのパフォーマンスの根拠を提供しますが、遅いのAddRangeは遅いよりも良いですAddRangeどうしてですか からのCollection継承はList、からの継承よりもはるかに多くの作業であり、私には利点がないと思います。確かにMicrosoftは理由もなく余分な作業をするように言わないので、何かを誤解しているように感じずにはいられず、継承Collectionは私の問題の正しい解決策ではありません。 実装などの提案を見てきました IList。いいえ。これは何十行ものボイラープレートコードで、何も得られません。 最後に、List何かを何かにラップすることを提案する人もいます: class FootballTeam { public List&lt;FootballPlayer&gt; Players; } これには2つの問題があります。 それは私のコードを不必要に冗長にします。my_team.Players.Countただ電話をする代わりに今すぐ電話しなければなりませんmy_team.Count。ありがたいことに、C#を使用すると、インデックス作成を透過的にするようにインデクサーを定義し、内部のすべてのメソッドを転送できますList...しかし、これは大量のコードです。すべての作業で何が得られますか? それだけでは意味がありません。サッカーチームは、選手のリストを「持っていません」。これは、ある選手のリスト。「John McFootballerがSomeTeamのプレーヤーに参加した」とは言わないでください。あなたは「ジョンがSomeTeamに参加した」と言います。「文字列の文字」に文字を追加するのではなく、文字列に文字を追加します。図書館の本に本を追加するのではなく、本を図書館に追加します。 …
1400 c#  .net  list  oop  inheritance 

20
オブジェクトのプロパティでList <T>を並べ替える方法
私はと呼ばれるクラスの持っているOrderような特性を有しているOrderId、OrderDate、Quantity、とTotal。このOrderクラスのリストがあります: List&lt;Order&gt; objListOrder = new List&lt;Order&gt;(); GetOrderList(objListOrder); // fill list of orders 次に、Orderオブジェクトの1つのプロパティに基づいてリストを並べ替えます。たとえば、注文日または注文IDで並べ替える必要があります。 C#でこれを行うにはどうすればよいですか?
1249 c#  generics  list  sorting 

16
2つのリストを辞書に変換する
あなたが持っていると想像してください: keys = ['name', 'age', 'food'] values = ['Monty', 42, 'spam'] 次の辞書を作成する最も簡単な方法は何ですか? a_dict = {'name' : 'Monty', 'age' : 42, 'food' : 'spam'}
1229 python  list  dictionary 


19
Javaで配列をリストに変換する
Javaで配列をリストに変換するにはどうすればよいですか? 私は使用しましたArrays.asList()が、動作(および署名)がJava SE 1.4.2(ドキュメントは現在アーカイブにあります)から8に変更され、Webで見つけたほとんどのスニペットは1.4.2の動作を使用しています。 例えば: int[] spam = new int[] { 1, 2, 3 }; Arrays.asList(spam) on 1.4.2は、要素1、2、3を含むリストを返します 1.5.0以降では、spam配列を含むリストを返します 多くの場合、検出は簡単ですが、気付かれない場合があります。 Assert.assertTrue(Arrays.asList(spam).indexOf(4) == -1);


30
リストの重複を削除する
ほとんどの場合、リストに重複があるかどうかを確認するプログラムを作成する必要があり、リストに重複がある場合はそれらを削除し、重複/削除されなかったアイテムを含む新しいリストを返します。これは私が持っているものですが、正直に言うと何をすべきかわかりません。 def remove_duplicates(): t = ['a', 'b', 'c', 'd'] t2 = ['a', 'c', 'd'] for t in t2: t.append(t.remove()) return t

21
値によってリスト要素を削除する簡単な方法はありますか?
a = [1, 2, 3, 4] b = a.index(6) del a[b] print(a) 上記は次のエラーを示しています: Traceback (most recent call last): File "D:\zjm_code\a.py", line 6, in &lt;module&gt; b = a.index(6) ValueError: list.index(x): x not in list だから私はこれをしなければなりません: a = [1, 2, 3, 4] try: b = a.index(6) del a[b] except: pass print(a) しかし、これを行う簡単な方法はありませんか?
942 python  list 

11
リストの削除、削除、ポップの違い
&gt;&gt;&gt; a=[1,2,3] &gt;&gt;&gt; a.remove(2) &gt;&gt;&gt; a [1, 3] &gt;&gt;&gt; a=[1,2,3] &gt;&gt;&gt; del a[1] &gt;&gt;&gt; a [1, 3] &gt;&gt;&gt; a= [1,2,3] &gt;&gt;&gt; a.pop(1) 2 &gt;&gt;&gt; a [1, 3] &gt;&gt;&gt; リストから要素を削除する上記の3つの方法の間に違いはありますか?
928 python  list 

6
2つのリストを並行して反復する方法は?
Pythonには2つのイテラブルがあり、それらをペアで調べたいと思います。 foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print "f: ", f, "; b: ", b 結果は次のようになります。 f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 これを行う1つの方法は、インデックスを反復処理することです。 for i in xrange(len(foo)): print "f: ", foo[i], "; b: ", …

14
リスト内包表記対ラムダ+フィルター
たまたま、基本的なフィルタリングの必要性があることに気づきました。リストがあり、アイテムの属性でフィルタリングする必要があります。 私のコードは次のようになりました: my_list = [x for x in my_list if x.attribute == value] でも、こんなふうに書いた方がいいのではないかと思いました。 my_list = filter(lambda x: x.attribute == value, my_list) より読みやすく、パフォーマンスに必要な場合はラムダを取り出して何かを取得できます。 質問です:2番目の方法を使用する際に注意点はありますか?パフォーマンスの違いはありますか?Pythonic Way™がまったくないので、さらに別の方法で実行する必要がありますか(ラムダの代わりにitemgetterを使用するなど)?

14
値がリストに存在するかどうかを確認する最速の方法
値がリスト(その中に数百万の値を持つリスト)に存在するかどうか、およびそのインデックスが何であるかを知る最も速い方法は何ですか? この例のように、リスト内のすべての値が一意であることを知っています。 私が試す最初の方法は(実際のコードでは3.8秒)です。 a = [4,2,3,1,5,6] if a.count(7) == 1: b=a.index(7) "Do something with variable b" 私が試す2番目の方法は(2倍高速:実際のコードでは1.9秒): a = [4,2,3,1,5,6] try: b=a.index(7) except ValueError: "Do nothing" else: "Do something with variable b" Stack Overflowユーザーから提案されたメソッド(実際のコードでは2.74秒): a = [4,2,3,1,5,6] if 7 in a: a.index(7) 私の実際のコードでは、最初の方法は3.81秒かかり、2番目の方法は1.88秒かかります。それは良い改善ですが、: 私はPython /スクリプトの初心者ですが、同じことをしてより多くの処理時間を節約するためのより速い方法はありますか? 私のアプリケーションのより具体的な説明: Blender APIでは、パーティクルのリストにアクセスできます: particles = …
816 python  performance  list 

27
2つのリストの違いを取得する
Pythonには次のような2つのリストがあります。 temp1 = ['One', 'Two', 'Three', 'Four'] temp2 = ['One', 'Two'] 2番目のリストにはない最初のリストのアイテムを含む3番目のリストを作成する必要があります。例から私は得なければなりません: temp3 = ['Three', 'Four'] サイクルとチェックなしの高速な方法はありますか?

8
オブジェクトの属性に基づいてオブジェクトのリストをソートする方法は?
オブジェクト自体の属性でソートしたいPythonオブジェクトのリストがあります。リストは次のようになります。 &gt;&gt;&gt; ut [&lt;Tag: 128&gt;, &lt;Tag: 2008&gt;, &lt;Tag: &lt;&gt;, &lt;Tag: actionscript&gt;, &lt;Tag: addresses&gt;, &lt;Tag: aes&gt;, &lt;Tag: ajax&gt; ...] 各オブジェクトにはカウントがあります。 &gt;&gt;&gt; ut[1].count 1L カウント数の降順でリストをソートする必要があります。 これについていくつかの方法を見てきましたが、Pythonでのベストプラクティスを探しています。
804 python  list  sorting  oop  count 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.