Подсчет количества раз, когда значение появляется в списке

Собственно, подумайте об этом в другом случае. Предположим, что если ваш список таков:

[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]

, и если вы напишете myList[0][0] = 5, вы получите:

>>> 
[[5, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]
>>> 

Как и ожидалось. Но так как вы определяете свою переменную списка следующим образом:

[[1] * 4] * 3

Python обработает ваши коды по этому шаблону. Поэтому, если вы напишете myList[0][0] и ваш список, как указано выше, Python обработает его, как [1]*3. Вот почему все списки первых элементов изменены.

1
задан U9-Forward 24 March 2019 в 05:37
поделиться

2 ответа

Сначала нужно составить список:

print(sr.tolist().count(0))

Тогда было бы хорошо.

Выход:

2
0
ответ дан U9-Forward 24 March 2019 в 05:37
поделиться

Коллекции имеют класс Counter, попробуйте:

from collections import Counter
cntr = Counter() 
cntr.update(sr.tolist())

Теперь cntr будет иметь sr в качестве ключей, а их количество - в качестве значений. Надеюсь, это поможет.

0
ответ дан hd1 24 March 2019 в 05:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: