Ruby中如何用简短方法将两个数组按列合并为二维数组?
无需嵌套循环的实现方法
当然有,用Python内置的zip()函数就能轻松搞定,完全不用写嵌套循环:
x = list(map(list, zip(y, z)))
说明:
zip(y, z)会把y和z中对应位置的元素逐个打包成元组,比如第一个元组是(1, "a"),第二个是(2, "b"),以此类推。map(list, ...)会把每个元组转换成列表,满足你要的[元素1, 元素2]格式。- 最后用
list()把整个结果转换成列表,就得到你期望的[[1,"a"], [2,"b"], [3,"c"], [4,"d"], [5,"e"]]。
如果不在意子元素是元组的话,甚至可以更短:
x = list(zip(y, z))
这时候x的结果是[(1,"a"), (2,"b"), ...],大部分场景下元组和列表的使用差异不大。
内容的提问来源于stack exchange,提问作者oj5th
相关产品推荐
相关产品推荐

