python - swift 将一串字母分成3s

标签 python arrays swift split

这里是 Swift 新手。我正在尝试将我的一些 python 代码转换为 swift 并且我卡在了我需要将一串字母拆分为每个项目为 3 个字母的数组中:

例如我的python代码如下:

name = "ATAGASSTSSGASTA"
threes =[]
for start in range(0, len(name),3):
   threes.append(name[start : start + 3])
print threes

对于 swift 我已经做到了这一点:

var name = "ATAGASSTSSGASTA"
let namearr = Array(name)
let threes = []
threes.append(namearr[0...3])

这给了我一个错误。

我意识到可能有更简单的方法来做到这一点,但我在研究中找不到任何东西。任何帮助表示赞赏!

最佳答案

一个简单快捷的方法是使用 strideadvance 函数映射一个字符数组:

let name = Array("ATAGASSTSSGASTA")

let splitName = map(stride(from: 0, to: name.count, by: 3)) {
    String(name[$0..<advance($0, 3, name.count)])
}

关于python - swift 将一串字母分成3s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306079/

相关文章:

python - 如何以编程方式更改 Mac OS X 中的背景?

python - 如何在 cython 中制作从 C struct 到 int 的 C++ 映射?

java - 如何使用 Java 将数组参数设置为变量

C# 数组 byte[].Length 属性

ios - 尝试设置 View 的 autoresizingMask 在 Xcode 7.1.1 中不起作用,就像其他示例一样

python - 如何添加一个计数器来跟踪 while 循环中的月份和年份?

python - 在 Python 中将主题 header 添加到 server.sendmail()

c - 动态分配数组结构的数组

swift - 如何防止类实例被修改?

ios - 如何在 Swift 中获取本地网络中本地主机名的 IP 地址