Я пытаюсь использовать Enumerable#zip
для массива массивов, чтобы сгруппировать элементы первого вложенного массива с соответствующими элементами каждого последующего вложенного массива. Это мой массив:Использование Enumerable # zip в массиве массивов
roster = [["Number", "Name", "Position", "Points per Game"],
["12","Joe Schmo","Center",[14, 32, 7, 0, 23] ],
["9", "Ms. Buckets ", "Point Guard", [19, 0, 11, 22, 0] ],
["31", "Harvey Kay", "Shooting Guard", [0, 30, 16, 0, 25] ],
["7", "Sally Talls", "Power Forward", [18, 29, 26, 31, 19] ],
["22", "MK DiBoux", "Small Forward", [11, 0, 23, 17, 0] ]]
Я хочу группы «Номер» с «12», «9», «31», «7» и «22», а затем сделать то же самое для «Название» , «Позиция» и т. Д., Используя zip. Ниже дает мне выход, я хочу:
roster[0].zip(roster[1], roster[2], roster[3], roster[4], roster[5])
Как переформатировать это так, что если я добавил игроков в моем списке, то они будут автоматически включены в zip
без меня, чтобы вручную ввести в roster[6]
, roster[7]
, и т. д. Я пробовал использовать диапазоны несколькими способами, но пока ничего не работает.
Вы правы. 'roster.transpose' - это все, что было необходимо. – sawa
Спасибо - оба ваших предложения работали. Я согласен, транспонировать был подходящий метод, который я просто не знал о его существовании. –
@DougMill Если это ответили на ваш вопрос, не забудьте [упредить/принять его] (http://meta.stackexchange.com/a/5235/158402) ':)' –