2016-09-04 10 views
1

私はデータ科学について学ぶためにpythonを使用しています。すべては問題ありませんが、最近、私は本のコードの下で見つけました。私は何のために理解することができません'_'が使用されています。なぜこの '_'が3行目で使用されていますか? Python2.7

def raw_majority_vote(labels): 
    votes = Counter(labels) 
    winner, _ = votes.most_common(1)[0] 
    return winner 

答えて

1

投稿したこのコードでは、_は変数名です。

_に値を割り当てることができます。

すなわち:

>>> _ = "test" 
>>> print _ 

出力:

test 

あなたはCounter.most_common()ドキュメントを見ている場合、このメッセージが表示されます:

戻り、nのリスト最も一般的な要素とそれらの数は、最も一般的なもののうちの最も一般的なものから までです。 nが省略されているかNoneである場合、most_common() はカウンタのすべての要素を返します。等しい数を持つ要素は が任意に注文されています

>>> Counter('abracadabra').most_common(3) 
[('a', 5), ('r', 2), ('b', 2)] 

だから、あなたのコードでは、winner, _ = votes.most_common(1)[0]

変数winnerこのmost_commonリストに含まれている最初のタプルの最初の値を取得します。 変数_は、このリストの最初のタプルの2番目の値を取得します。この場合

winner = 'a' 
_ = 5 
+0

ありがとうございます、これは通常のポイントです。なぜ私はこれを試していないのですか? –

1

それは使い捨ての変数です。 votes.most_common(1)[0]は、2つの値にアンパックすることができ、そのスクリプトの作者は最初の値にのみ関心があります。

0

通常、返される変数を気にせず、破棄したいが、まだValueErrorを防ぐ場合に使用されます。

関連する問題