首页 > 解决方案 > 创建特定模式的数字数组的快速方法是什么?

问题描述

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

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

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

标签: swift

解决方案


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

sequence(first: 100) { $0 * 2 }.prefix(7)

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

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

推荐阅读