3

次のような変数があります: ignore = val1,val2

しかし、これらの値を別々のものとして使用する方法は私には不明です。

現在(私の知る限り)、以下のコードのようにハードコードする必要があります:

if (not Path.find("val1") > -1 ) and (not Path.find("val2") > -1 ):
    etc

ここでテストを追加したいので、次のようにハードコーディングする必要があります。

if (not Path.find("val1") > -1 ) and (not Path.find("val2") > -1 ) and (not Path.find("test") > -1 ):

これを行うより良い方法はありませんか?

4

3 に答える 3

4

ignore名のタプルの場合:

if all(Path.find(v) <= -1 for v in ignore):

これには、最初の条件が false になるとすぐに停止できるという利点があります。ハードコーディングされた例と同じように。

于 2013-01-17T12:08:39.577 に答える
3

これは、tuplePythonの基本的なデータ型の1つです。

、などignore[0]のインデックス表記を使用して、さまざまな値にアクセスできます。ignore[1]

ただし、このような基本的な言語機能に苦労している場合は、続行する前にPythonチュートリアルを読むことを強くお勧めします。

于 2013-01-17T12:09:42.457 に答える
0

ignore = var1, var2基本的に、とignoreの値を保持するタプルに代入します。それらにアクセスするには、最初と 2 番目の要素にそれぞれorを使用します (Python リスト/タプル インデックスでは、1 ではなく 0 から始まります)。var1var2ignore[0]ignore[1]

これとは別に、 を使用することもできますcollections.namedtuple。これにより、タプルを属性を持つクラスのように扱うことができます。

import collections
sometuple = collections.namedtuple('sometuple', 'var1 var2')

その後、名前で要素にアクセスできます。

ignore = sometuple(var1, var2)
ignore.var1  # first element
ignore.var2  # second element

namedtuples hereのドキュメントを参照してください。

の一般情報については、ドキュメントtuplesを参照してください。

于 2013-01-17T12:17:52.277 に答える