"Rodrigo García", "Edad"=>13, "Genero"=-6ren">
gpt4 book ai didi

arrays - 使用数组的索引 0 子索引作为数据表中哈希的键

转载 作者:数据小太阳 更新时间:2023-10-29 08:43:09 25 4
gpt4 key购买 nike

目前我正在编写这段小代码。我需要使用 0 索引作为键,然后下一个元素需要显示为值,例如以下示例:

[{"Nombre"=>"Rodrigo García", "Edad"=>13, 
"Genero"=>"Masculino", "Grupo"=>"Primero", "Calificaciones"=>[9, 9, 7, 6,
8]},... #for each one of the people represented in the table

我尝试过使用 zip 和转置,但我不能仅从一个数组中使用。我将衷心感谢您的帮助。先感谢您!

table = [["Nombre","Edad","Genero","Grupo","Calificaciones"],
["Rodrigo Garcia",13,"Masculino","Primero",[9, 9, 7, 6, 8]],
["Fernanda Gonzalez",12,"Femenino","Tercero",[6, 9, 8, 6, 8]],
["Luis Perez",13,"Masculino","Primero",[8, 7, 7, 9, 8]],
["Ana Espinosa",14,"Femenino","Segundo",[9, 9, 6, 8, 8]],
["Pablo Moran",11,"Masculino","Segundo",[7, 8, 9, 9, 8]]]

p Hash[table.zip]
puts
puts
p table.transpose

最佳答案

无论如何,如果您要处理大型数据集,似乎您可能需要进行一些重构:

head  = ["Nombre","Edad","Genero","Grupo","Calificaciones"]
table = [["Rodrigo Garcia",13,"Masculino","Primero",[9, 9, 7, 6, 8]],
["Fernanda Gonzalez",12,"Femenino","Tercero",[6, 9, 8, 6, 8]],
["Luis Perez",13,"Masculino","Primero",[8, 7, 7, 9, 8]],
["Ana Espinosa",14,"Femenino","Segundo",[9, 9, 6, 8, 8]],
["Pablo Moran",11,"Masculino","Segundo",[7, 8, 9, 9, 8]]]

ret = table.map {|row| head.zip(row) }

# or maybe better, convert to a hash, to retrieve data more easily.

ret2= table.map {|row| head.zip(row).to_h }

puts ret #=> [[["Nombre", "Rodrigo Garcia"], ["Edad", 13], ["Genero", "Masculino"]...
puts re2 #=> [{"Nombre"=>"Rodrigo Garcia", "Edad"=>13, "Genero"=>"Masculino", ...

关于arrays - 使用数组的索引 0 子索引作为数据表中哈希的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44578661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com