У меня есть большой набор (100 000) двоичных строк (фиксированная длина k), например: «011100001111000010», «111011011110000100» и т. Д. Некоторые двоичные строки содержат начальные нули. Я хотел бы получить список L длины k, такой, что a [i] = количество двоичных строк, у которых 1 на i-м месте. Например:
Вход:
"1011"
"0111"
"0111"
Вывод:
[1,2,3,3]
Поскольку количество двоичных строк очень велико (100000+), а k составляет около 100, использование вложенных циклов for кажется очень неэффективным. Что было бы наиболее действенным (или, по крайней мере, более действенным) способом решения этой проблемы?