当前位置: 首页 > 面试题库 >

弃用Swift C样式循环后循环中的递减索引

孔宇
2023-03-14
问题内容

在以下语法不再有效的Swift 3.0中,您将如何表达递减索引循环?

for var index = 10 ; index > 0; index-=1{
   print(index)
}

// 10 9 8 7 6 5 4 3 2 1

问题答案:

这是一种更简单(更快速)的方法。

for i in (0 ..< 5).reversed() {
    print(i) // 4,3,2,1,0
}

let array = ["a", "b", "c", "d", "e"]
for element in array.reversed() {
    print(element) // e,d,c,b,a
}

array.reversed().forEach { print($0) } // e,d,c,b,a

print(Array(array.reversed())) // e,d,c,b,a


 类似资料:
  • 这里是一个以圆圈为单位的交叉网格,当前为5x5。我试图得到一行5,下面是一行4,然后是3,然后是2等等。我试着改变for循环和值,但什么都不起作用。我需要使用行和列吗? 谢谢!

  • 在标准的javascript中,如果你想把一个array中的所有elements显示出来,你可以像下面代码这样写得很好: <script> function showList(){ var simpsons = ['Homer', 'Marge', 'Lisa', 'Bart', 'Meg']; for(i=0;i<simpsons.length;i++){ alert(s

  • 问题内容: 我正在经历 递增/递减运算符 ,并且 遇到了这样的情况:如果在这种情况下以递减形式运行循环,则其运行速度将比相同的以递增形式运行的循环快。 我期望两者将花费相同的时间,因为将遵循相同数量的步骤。我在网上搜索,但找不到令人信服的答案。是因为与增量运算符相比,减数运算符花费的时间更少吗? 问题答案: 这是因为在字节码中,与0比较与与非零数字比较是不同的操作。实际需要先将数字加载到堆栈上,然

  • 我想从MU、MG、PU、PG中取样70次而不替换,以创建一个矩阵(ncol=4,nrow=70),例如。 到目前为止,我有:矩阵(样本(c(“MU”,“MG”,“PU”,“PG”),70*4,F),nrow=70,byrow=TRUE),这是不正确的,因为行可能有不止一个MU,MG,PU,PG的实例。我可以用for循环或更简单的方法来完成吗?

  • 本文向大家介绍C#中for循环、while循环循环执行的方法,包括了C#中for循环、while循环循环执行的方法的使用技巧和注意事项,需要的朋友参考一下 先给大家介绍下C#中的循环执行for循环 在这一节练习中,我们向大家介绍一下C#中的另一种重要的循环语句,for循环。 表达式1:一般为赋值表达式,给控制变量赋初值; 表达式2:逻辑表达式,循环控制条件;当条件为真时,循环执行循环体中的语句。

  • 问题内容: 因此,我正在研究UVA问题,并且我有4个嵌套循环来遍历多边形列表(每个多边形都包含一个点列表,其中每个点都包含一个整数x和y来表示其坐标,即,polygon [0]是一个点,其坐标为面[0] .x和面[0] .y)。 我试图减少程序中for循环的数量,以使其更高效并降低运行时间。我的代码如下: 我尝试通过使用itertools.product使其变得更加高效,如下所示: 无论如何,我的