arrays - Swift 是否有任何简单的方法来获取二维数组中的列?
问题描述
为了获得一排,我可以轻松做到print(array[3])
。但是要获得一列,我必须创建一个空数组,遍历所有行,然后追加到数组。对于这么简单的事情来说,这太过分了!
目前,我必须通过所有这些努力才能获得专栏:
let array = [[1, 9, 29, 55, 90],
[19, 22, 33, 59, 94],
[33, 44, 55, 62, 101],
[75, 80, 82, 90, 197],
[91, 99, 104, 144, 222]]
func get(column : Int, of array: [[Int]]) -> [Int]? {
guard !array.isEmpty else {
print("array is empty")
return nil
}
guard column < array.count else {
print("such a column doesn't exist")
return nil
}
guard column > -1 else {
print("column index can't be negative")
return nil
}
var column : [Int] = []
for row in 0..<array.count {
column.append(array[row][column])
}
return column
}
get(column: 3, of: array) // Optional([55, 59, 62, 90, 144])
解决方案
推荐阅读
- python - 如何在列表的不同部分执行特定操作?
- python - Visual Studio 2019 无法识别 pygame
- angular - localStorage.getItem('token') 行为奇怪
- python - 为什么我们将函数作为参数传入而不在 django 中执行?
- c - 全局定义未知维度的数组
- amazon-web-services - 支持秘密管理器轮换的 aws lambda 函数
- pandas - convert pandas datetime64[ns] to julian day
- ajax - Django中的Ajax:找不到url
- search - ADDREPLICA 的 Solr 自动缩放策略在基于度量的触发器中不起作用
- r - 安装 xml2 R 包时出现错误消息