У меня есть этот список с 5 последовательностью чисел:Как рассчитать процент каждого элемента в списке?
['123', '134', '234', '214', '223']
, и я хочу, чтобы получить процент от каждого числа 1, 2, 3, 4
в ith
положения каждой последовательности чисел. Например, цифры в 0th
позиции этого 5
последовательностей чисел: 1 1 2 2 2
, тогда мне нужно рассчитать процент от 1, 2, 3, 4
в этой последовательности номеров и вернуть проценты как 0th
элемент нового списка.
['123', '134', '234', '214', '223']
0th position: 1 1 2 2 2 the percentage of 1,2,3,4 are respectively: [0.4, 0.6, 0.0, 0.0]
1th position: 2 3 3 1 2 the percentage of 1,2,3,4 are respectively: [0.2, 0.4, 0.4, 0.0]
2th position: 3 4 4 4 3 the percentage of 1,2,3,4 are respectively: [0.0, 0.0, 0.4, 0.6]]
Затем желаемый результат для возврата:
[[0.4, 0.6, 0.0, 0.0], [0.2, 0.4, 0.4, 0.0], [0.0, 0.0, 0.4, 0.6]]
Моей попытки до сих пор:
list(zip(*['123', '134', '234', '214', '223']))
Результат:
[('1', '1', '2', '2', '2'), ('2', '3', '3', '1', '2'), ('3', '4', '4', '4', '3')]
Но я застрял здесь, то я не знаю, как рассчитать процентное соотношение nt каждого номера 1, 2, 3, 4
, затем получите желаемый результат. Любое предложение приветствуется!
Слишком много жесткого кодирования. '/ 5' следует заменить на'/len (x) ', а' range (1,5) 'следует заменить на' set (''. Join (l)) '(и вы можете заменить' str (i) 'только с' i'). – BallpointBen