创建特定模式的数字数组的快速方法是什么?

Ser*_*ost 1 swift

我想要创建的数字模式遵循以下模式:

[100, 200, 400, 800, 1600, 3200, 6400]

我知道我可以用 for 循环来完成这个任务,但是来自像Python我想知道是否有Swift办法做到这一点的语言。谢谢。

Swe*_*per 5

使用该sequence(first:next:)功能。它创建了一个无限序列。然后您可以使用prefix来获取有限数量的元素。

sequence(first: 100) { $0 * 2 }.prefix(7)
Run Code Online (Sandbox Code Playgroud)

如果然后将其转换为数组,则可以以人类可读的格式打印出来:

// [100, 200, 400, 800, 1600, 3200, 6400]
print(Array(sequence(first: 100) { $0 * 2 }.prefix(7)))
Run Code Online (Sandbox Code Playgroud)