問題タブ [namedtuple]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
4360 参照

python - namedtuple によるネスト

Python で希望する形式でデータを取得するのに問題があります。

基本的に、バイナリデータを読み取り、そのデータのプロットと分析のための機能を提供するプログラムがあります。

私のデータには、主な見出しと、任意の数のさまざまなデータ型である可能性のある小見出しがあります。

たとえば、次のように自分のデータにアクセスできるようにしたいと思います。

しかし、実行時までアトムの名前はわかりません。

たとえば、すべてのアトム名を読み込んだ後、namedtuple を使用してみました。

elementlist は、たとえば ('hydrogen','carbon') などの文字列のリストです。しかし、問題は、たとえば次のようにこれらをネストできないことです。

そして、たとえば次の方法で値にアクセスできます

多分私はこれを完全に間違っています。私はPythonにかなり慣れていません。変数に動的に名前を付けることに煩わされなければ、これは簡単にできると思います。

私が達成しようとしていることを明確にしたことを願っています!

0 投票する
3 に答える
15686 参照

python - CSVファイルデータを名前付きタプルの行として読み取るpythonicの方法は何ですか?

ヘッダー行を含むデータ ファイルを取得し、この行を名前付きタプルに読み取って、ヘッダー名でデータ行にアクセスできるようにする最善の方法は何ですか?

私はこのようなことを試みていました:

リーダー オブジェクトは添え字付けできないため、上記のコードはTypeError. ファイルヘッダーをnamedtupleに読み込むpythonicの方法は何ですか?

0 投票する
2 に答える
9804 参照

python - 名前付きタプルの Python リスト、属性の置き換え

これは、なぜ機能しないのか理解できない単純化されたコードです。

ここに出力があります

0 投票する
2 に答える
1489 参照

python - namedtuple と凍結された dict の違い

凍結された dict データ型がないことは知っていますが、もしあれば、namedtuple とどう違うのでしょうか。namedtuple が必要な操作を実行しているように思えますが、明らかにそうではありません。違いは何ですか?

0 投票する
2 に答える
2239 参照

python - Python:Jsonは、namedtuples、datesを使用してネストされたデータ構造をエンコードします

次の行に沿ってdatetime.datetimeオブジェクトとnamedtuplesを含むネストされたPythonデータ構造があります。

エンコーダーは次のようなものです。

print json.dumps(x, cls=TestEncoder)出力:

._asdict()次の出力を取得するために、namedtuplesをdictに変換したいと思います(おそらくnamedtupleメソッドを使用します)。

一般的なデータ構造を保持するにはどうすればよいですか?jsonはnamedtuplesをdictとしてダンプしますか?

0 投票する
22 に答える
159109 参照

python - オプションのキーワード引数の名前付きタプルとデフォルト値

長い中空の「データ」クラスを名前付きタプルに変換しようとしています。私のクラスは現在次のようになっています。

変換後namedtupleは次のようになります。

しかし、ここには問題があります。私の元のクラスでは、値だけを渡すことができ、named/keyword引数にデフォルト値を使用してデフォルトを処理していました。何かのようなもの:

しかし、これは、リファクタリングされた名前付きタプルの場合、すべてのフィールドを渡すことを想定しているため、機能しません。Node(val)もちろん、 toの出現を置き換えることはできますNode(val, None, None)が、それは私の好みではありません。

それで、コードの複雑さ(メタプログラミング)をあまり追加せずに書き直しを成功させることができる良いトリックがありますか、それともピルを飲み込んで「検索と置換」を続行する必要がありますか?:)

0 投票する
2 に答える
160 参照

python - namedtupleによって作成されたタプルサブクラスをタプル自体に変換するにはどうすればよいですか?

私はPythonを使用していますが、一部のメソッドでは引数としてタプルが必要です。namedtupleによって作成されたインスタンスはタプルサブクラスですが、それでもタプルに変換する必要があるようです。
namedtupleによって作成されたタプルサブクラスをタプルにすばやく変換する方法はありますか?ありがとう!

0 投票する
3 に答える
13813 参照

python - これの代わりに struct と namedtuple を使用するエレガントな方法はありますか?

C では次のようなレコードで構成されるバイナリ ファイルを読み込んでいます。

これで、これを解析して 23 の個別の値を持つタプルにすることができますnamedtupleが、最初の 20 バイトを に結合し、text残りの 3バイトを に結合するために使用できるとよいでしょうindex。どうすればそれを達成できますか?基本的に、23 個の値の 1 つのタプルの代わりに、それぞれ 20 個と 3 個の値の 2 つのタプルを持ち、「自然な名前」を使用してこれらにアクセスすることをお勧めしますnamedtuple

現在、 の形式"20c3B"を使用していますstruct.unpack_from()

注: を呼び出すと、文字列内に多数の連続したレコードがありますparse_text


私のコード(関連する部分に取り除かれます):

0 投票する
5 に答える
31550 参照

python - 名前付きタプルのリストをフィールド名でソートするPythonの方法

フィールド名のインデックスを覚えていなくても、名前付きタプルのリストを並べ替えたい。私の解決策はかなり厄介なようで、誰かがもっとエレガントな解決策を持っていることを望んでいました。

ありがとう、ニック

0 投票する
4 に答える
9838 参照

python - Pythonで名前付きタプルをマージする簡単な方法は何ですか?

キー名を失うことなく、2 つの名前付きタプルをマージしたいと考えています。「+」演算子を使用してマージを実行すると、結果としてタプルが得られますが、名前はありません。

例えば:

上記のケースでわかるように、 a + b の結果には名前が関連付けられていません。

しかし、A と B の両方のフィールドを持つ 3 番目の名前付きタプルを作成することで、それを実現できます。

これは正しい方法ですか、それともこれを行うためのより良い方法はありますか?