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

プログラミングでは、タプルは単純な*製品タイプ*であり、タイプの順序付けられたコレクションを表します。

4
Pythonでタプル比較はどのように機能しますか?
私はCore Pythonプログラミングの本を読んでいて、著者は次のような例を示しています。 (4, 5) < (3, 5) # Equals false だから、私は疑問に思っています、どのように/なぜfalseに等しいのですか?Pythonはこれら2つのタプルをどのように比較しますか? ところで、それは本で説明されていません。


13
C#コードで.NET 4.0タプルを使用するのは設計上の決定が不十分ですか?
.net 4にTupleクラスが追加されたため、デザインでそれらを使用するのが悪い選択かどうかを判断しようとしています。私の見たところ、タプルは結果クラスを作成するための近道になる可能性があります(他の用途もあると思います)。 したがって、この: public class ResultType { public string StringValue { get; set; } public int IntValue { get; set; } } public ResultType GetAClassedValue() { //..Do Some Stuff ResultType result = new ResultType { StringValue = "A String", IntValue = 2 }; return result; } これと同等です: public Tuple<string, int> …

7
Pythonはタプルにアイテムを追加します
ユーザーセッションにタプルとして保存しようとするobject.ID-sがあります。最初のものを追加すると機能しますが、タプルは次のようになりますが、エラー(u'2',)を使用して新しいものを追加しようとするとmytuple = mytuple + new.idエラーが発生しますcan only concatenate tuple (not "unicode") to tuple。

2
タプルから1つの値を取得する
式を使用してPythonのタプルから1つの値を取得する方法はありますか? def tup(): return (3, "hello") i = 5 + tup() # I want to add just the three 私はこれができることを知っています: (j, _) = tup() i = 5 + j しかし、それは私の関数に数十行を追加し、その長さを2倍にします。
152 python  tuples 

6
dictするpythonタプル
タプルの場合、t = ((1, 'a'),(2, 'b')) dict(t)戻り値{1: 'a', 2: 'b'} 取得するための良い方法はあり{'a': 1, 'b': 2}ますか(キーと値を交換する)? 最終的に、私は返すことができるようにしたい1与え'a'たり2与えられ'b'、おそらく辞書に変換する最良の方法ではありません。

6
名前付きタプルを辞書に変換する
私はPythonで名前付きタプルクラスを持っています class Town(collections.namedtuple('Town', [ 'name', 'population', 'coordinates', 'population', 'capital', 'state_bird'])): # ... Townのインスタンスを辞書に変換したいのですが。タウンのフィールドの名前や数に厳密に結び付けられたくありません。 フィールドを追加したり、まったく異なる名前のタプルを渡して辞書を取得したりする方法はありますか? 他の誰かのコードのように元のクラス定義を変更することはできません。だから私は町のインスタンスを取り、それを辞書に変換する必要があります。

4
HListはタプルを書く複雑な方法にすぎませんか?
違いがどこにあるのか、より一般的には、HListを使用できない(または、通常のリストに比べてメリットがない)正規のユースケースを特定することに本当に興味があります。 (私はTupleNScala には22(私は信じている)があることを知っていますが、1つは単一のHListを必要とするだけですが、それは私が興味を持っている種類の概念の違いではありません。) 以下のテキストにいくつか質問をマークしました。実際にそれらに答える必要はないかもしれません、彼らは私に不明瞭なことを指摘し、特定の方向に議論を導くためのものです。 動機 私は最近、人々が(によって提供されるように、例えばHListsを使用することが提案SO上の回答のカップルを見てきました型崩れを削除答えを含む)、この質問を。それがこの議論を引き起こし、それが今度はこの疑問を引き起こしました。 はじめに 要素の数とその正確なタイプを静的に知っている場合にのみ、hlistが役立つように思えます。数は実際には重要ではありませんが、静的に正確に認識されているさまざまなタイプの要素を含むリストを生成する必要がある可能性は低いですが、静的にその数がわかっていません。質問1:そのような例を、たとえばループで書くことさえできますか?私の直感は、静的に不明な数の任意の要素(特定のクラス階層に対して任意)を持つ静的に正確なhlistを持つことは互換性がないということです。 HListsとタプル これが真である場合、つまり、静的に数値と型を知っている場合- 質問2:なぜnタプルを使用しないのですか?確かに、あなたはtypesafelyマッピングすることができますし、(あなたもすることができますが、HList折り重なっていないの助けを借りて、タプルを超える行うtypesafely、 productIterator)が、要素の数と種類は静的にあなたはおそらくタプル要素にアクセスする可能性が知られているので、直接操作を実行します。 一方、fhlistにマップする関数が非常に一般的で、すべての要素を受け入れる場合- 質問3:なぜそれを使用しないのproductIterator.mapですか?わかりました、興味深いオーバーロードの1つは、メソッドのオーバーロードにf起因する可能性がありますf。複数のオーバーロードがあった場合、(productIteratorとは対照的に)hlistによって提供されるより強力な型情報があると、コンパイラはより具体的なを選択できます。ただし、メソッドと関数は同じではないため、Scalaで実際に機能するかどうかはわかりません。 HListとユーザー入力 同じ前提に基づいて、つまり、要素の数とタイプを静的に知る必要があるということ- 質問4:要素が何らかのユーザーの操作に依存している状況でhlistを使用できますか?たとえば、hlistにループ内の要素を入力することを想像してください。要素は、特定の条件が満たされるまでどこか(UI、構成ファイル、アクターの相互作用、ネットワーク)から読み取られます。hlistのタイプは何ですか?インターフェース仕様getElements:HList [...]と同様に、静的に不明な長さのリストを処理し、システム内のコンポーネントAがコンポーネントBから任意の要素のそのようなリストを取得できるようにします。
144 scala  types  tuples  hlist  shapeless 

9
Python(または不変のデータ型)にタプルが必要なのはなぜですか?
私はいくつかのPythonチュートリアル(Dive Into Pythonなど)と、Python.orgの言語リファレンスを読みました-言語にタプルが必要な理由がわかりません。 タプルにはリストやセットと比較してメソッドがありません。タプルをセットまたはリストに変換してソートできるようにする必要がある場合、そもそもタプルを使用する意味は何ですか? 不変性? 変数が最初に割り当てられたときとは異なるメモリ内の場所にある場合、なぜ誰かが気にするのですか?Pythonにおけるこの不変性のビジネス全体は、過度に強調されているようです。 C / C ++では、ポインタを割り当てて有効なメモリを指す場合、使用する前にアドレスがnullでない限り、アドレスの場所は気にしません。 その変数を参照するときはいつでも、ポインターがまだ元のアドレスを指しているかどうかを知る必要はありません。私はnullをチェックしてそれを使用する(または使用しない)だけです。 Pythonでは、文字列(またはタプル)を割り当ててxに割り当て、次に文字列を変更すると、元のオブジェクトであるかどうかを気にするのはなぜですか?変数が私のデータを指している限り、それだけが重要です。 >>> x='hello' >>> id(x) 1234567 >>> x='good bye' >>> id(x) 5432167 x それでも私が必要なデータを参照していますが、なぜそのIDが同じか異なるかを誰かが気にする必要があるのですか?
140 python  tuples 


6
System.ValueTupleとSystem.Tupleの違いは何ですか?
いくつかのC#7ライブラリを逆コンパイルし、ValueTupleジェネリックが使用されているのを見ました。代わりに何でValueTuples、なぜそうしないのTupleですか? https://docs.microsoft.com/en-gb/dotnet/api/system.tuple https://docs.microsoft.com/en-gb/dotnet/api/system.valuetuple
139 c#  .net  tuples  c#-7.0 

13
タプルを可変長テンプレート関数の引数に拡張するにはどうすればよいですか?
可変個のテンプレート引数を持つテンプレート関数の場合を考えます。 template<typename Tret, typename... T> Tret func(const T&... t); 今、私はt値のタプルを持っています。func()引数としてタプル値を使用して呼び出すにはどうすればよいですか?bind()functionオブジェクトとcall()functionについて、そしてapply()いくつかの古くなったドキュメントで関数についても読みました。GNU GCC 4.4実装call()はbind()クラスに関数があるようですが、この件に関するドキュメントはほとんどありません。 一部の人々は手書きの再帰的ハックを提案しますが、可変テンプレートの引数の真の価値は、上記のような場合にそれらを使用できることです。 誰かが解決策を持っているか、それについてどこで読むべきかについてのヒントはありますか?
135 c++  c++11  arguments  tuples 

4
パンダで2列からタプル列を形成する方法
Pandas DataFrameがあり、「lat」列と「long」列を組み合わせてタプルを形成したいと思います。 <class 'pandas.core.frame.DataFrame'> Int64Index: 205482 entries, 0 to 209018 Data columns: Month 205482 non-null values Reported by 205482 non-null values Falls within 205482 non-null values Easting 205482 non-null values Northing 205482 non-null values Location 205482 non-null values Crime type 205482 non-null values long 205482 non-null values lat 205482 non-null …

12
C ++でのタプルの使用が一般的ではないのはなぜですか?
C ++でBoost Tuple LibraryまたはTR1の標準ライブラリのいずれかでタプルを使用しているように思われないのはなぜですか?多くのC ++コードを読みましたが、タプルの使用をめったに見ませんが、多くの場合、タプルが多くの問題(通常は関数から複数の値を返す)を解決する場所がたくさんあります。 タプルを使用すると、次のようなあらゆる種類の優れた操作を実行できます。 tie(a,b) = make_tuple(b,a); //swap a and b それは確かにこれよりも優れています: temp=a; a=b; b=temp; もちろん、いつでもこれを行うことができます: swap(a,b); しかし、3つの値をローテーションする場合はどうでしょうか。あなたはタプルでこれを行うことができます: tie(a,b,c) = make_tuple(b,c,a); タプルを使用すると、関数から複数の変数を返すのがはるかに簡単になります。これは、値をスワップするよりもはるかに一般的なケースです。参照を使用して値を返すことは、確かにあまりエレガントではありません。 タプルに私が考えていない大きな欠点はありますか?そうでない場合、なぜそれらがめったに使用されないのですか?彼らは遅いですか?それとも人々が彼らに慣れていないだけですか?タプルを使用するのは良い考えですか?
124 c++  tuples 

17
Python:タプルの値を変更する
私はPythonが初めてなので、この質問は少し基本的なものかもしれません。values次のタプルが呼び出されます。 ('275', '54000', '0.0', '5000.0', '0.0') 275このタプルの最初の値(つまり)を変更したいのですが、タプルは不変なので、機能しvalues[0] = 200ません。どうすればこれを達成できますか?
123 python  tuples 

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