arrays - 在 Swift 中确定多维数组的大小

标签 arrays swift matrix count

我是 Swift 的新手,正在努力研究如何确定多维数组的大小。

我可以对单个数组使用计数函数,但是当我创建矩阵/多维数组时,计数调用的输出只给出一个值。

var a = [[1,2,3],[3,4,5]]
var c: Int
c = a.count
print(c)

2

上面的矩阵 'a' 显然有 2 行和 3 列,有没有办法输出这个正确的大小。

在 Matlab 中,这是一个简单的任务,只需以下代码行,

a = [1,2,3;3,4,5]
size(a)
ans =
2 3

Swift 中是否有一个简单的等价物

我四处寻找解决方案,但似乎无法找到我真正想要的。

谢谢
- 乙肝

最佳答案

因为 swift 中的二维数组可以有不同长度的子数组。没有“矩阵”类型。

let arr = [
    [1,2,3,4,5],
    [1,2,3],
    [2,3,4,5],
]

所以“行”和“列”的概念是不存在的。只有 count

如果你想计算子数组中的所有元素,(在上面的例子中,12),你可以平面映射它然后计数:

arr.flatMap { $0 }.count

如果你确定你的数组是一个矩阵,你可以这样做:

let rows = arr.count
let columns = arr[0].count // 0 is an arbitrary value

关于arrays - 在 Swift 中确定多维数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48239189/

相关文章:

c# - 对数组中的每百分之一的元素做一些事情

python - 一个傅里叶如何变换 1's and 0' 的数组

C++:用二维 C 数组构造 std::vector<std::vector<int>> ?

ios - 无法使用委托(delegate)协议(protocol)设置标签中的值

matrix - APL编程-如何将简单的矩阵转换为图片?

javascript - 从一个巨大的数组中获取数据

ios - Firebase登录用户身份验证回调结果中用户的数据类型是什么

ios - 快速从项目中删除 SwiftSpinner cocoapods 导入模块

java - 对称矩阵Java构造错误

python - 计算矩阵的 log2