不能用swift在for循环中追加一个数组?

Posted

技术标签:

【中文标题】不能用swift在for循环中追加一个数组?【英文标题】:Can't append an array in a for in loop with swift? 【发布时间】:2016-08-21 00:52:17 【问题描述】:

所以我一直在操场上玩 Swift 3,我只是想转换一些我用 python 编写的数据分析东西(作为语言差异的练习等)由于某种原因我的 for in 循环不是接下来是在“userArr”数组中附​​加“users”中的名称。

for (key, value) in friendships
    userArr[key].append(users[value]!)
    userArr[value].append(users[key]!)

当我删除 .append(arg) 时,我能够获得对我试图查找(并附加)的每个项目的正确引用,并且操场边距标记循环发生了 16 次。但是由于某种原因,我添加成员函数游乐场的第二个甚至没有说 for-in 循环发生了一次。

需要明确的是,我尝试填充的数组并未按应有的方式附加。

这是在 for in 循环中使用成员函数的语言特定问题吗?我在循环中引用的数组和字典打印在下面:

    let users = [

0 : "Jiro",
1 : "Dunn",
2 : "Lou",
3 : "Bri",
4 : "Thor",
5 : "Clive",
6 : "Rix",
7 : "Devin"

]

    let friendships = [ (0,1), (0,3), (1,7), (1,2),
                (2,5), (2,7), (3,2),
                (3,5), (4, 1), (4,6),
                (5,4), (5,1), (6,7),
                (6,2), (7,4), (7,0) ]

var Jiro: Array<String> = [], Dunn: Array<String> = [], Lou: Array<String> = [], Bri: Array<String> = [],
Thor: Array<String> = [], Clive: Array<String> = [], Rix: Array<String> = [], Devin: Array<String> = []

var userArr =  [Jiro, Dunn, Lou, Bri, Thor, Clive, Rix, Devin]

【问题讨论】:

执行循环后,userArr 会如预期那样被填充。你得到什么结果,你期望什么? 期待和你实际得到什么? 请展示您的实际代码,而不是按相反顺序和讨论分开的部分,而是实际代码。谢谢。 @matt 我之前在这里被告知要显示一个精确的问题,然后在底部显示任何辅助代码,以免造成混乱。但是很抱歉造成混乱 此刻我正在重写它! :)))) 【参考方案1】:

鉴于其他用户能够成功运行此代码,我将把它作为 Playground 的问题关闭

【讨论】:

以上是关于不能用swift在for循环中追加一个数组?的主要内容,如果未能解决你的问题,请参考以下文章

不能在 swift 中使用 for...in 或 forEach 循环来快速打印视图

For循环用于搜索数组,Swift [重复]

Swift 3:如何使用 for 循环来循环数组

如何在 Swift 3 中为我在 for 循环期间修改的数组编写 for 循环?

如何在R中追加一个空数组

由于 swift 中的 for 循环而无法修改数组?