2016-09-04 2 views
1

Я использую python, чтобы узнать о науке о данных. Все в порядке, но в последнее время я нашел код ниже в книге. Я не могу понять, с какой целью используется '_'.Почему эта «_» используется в третьей строке? Python2.7

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

ответ

1

В этой части кода вы публикуемую, то _ имя переменной.

Вы можете присвоить значения _.

Ie:

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

Выход:

test 

Если вы посмотрите на Counter.most_common() документы, вы увидите это сообщение:

Возвращает список п наиболее распространенные элементы и их количество от наиболее распространены. Если n опущено или None, most_common() возвращает все элементы в счетчике. Элементы с одинаковыми подсчетами упорядоченными произвольно:

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

Таким образом, в вашем коде, winner, _ = votes.most_common(1)[0]

Переменная winner получает первое значение первого кортежа, содержащийся в этом списке most_common. И переменная, _, получает второе значение первого кортежа в этом списке.

В этом случае:

winner = 'a' 
_ = 5 
+0

Спасибо, это такая нормальная точка. Почему я не пробовал это? –

1

Это холостым переменная. Независимо от того, votes.most_common(1)[0] может быть распакован до двух значений, и писатель этого скрипта интересуется только первым значением.

0

Обычно он используется, когда вам не нужна возвращенная переменная, и вы хотите отменить его, но все равно предотвратить любые ValueError s.

Смежные вопросы