如何将 Range<Int> 转换为 Set<Int>?

Sah*_*oor 3 set swift

我想一个转换RangeIntSet<Int>这样的

[0..<count]-> Set[1,2,3..count].

Mar*_*n R 6

一个(可数)范围是一个序列,Set有一个初始值设定项

public init<Source : Sequence where Source.Iterator.Element == Element>(_ sequence: Source)
Run Code Online (Sandbox Code Playgroud)

它允许直接从序列创建一个集合:

let count = 10
let range = 0..<count // CountableRange<Int>
let set = Set(range)  // Set<Int>
Run Code Online (Sandbox Code Playgroud)

要不就

let count = 10
let set = Set(0..<count) // Set<Int>
Run Code Online (Sandbox Code Playgroud)

或者

let set = Set(0..<10)  // Set<Int>
Run Code Online (Sandbox Code Playgroud)

请注意,还有IndexSetwhich 是一种专用类型来管理(非负)整数值集:

let indexSet = IndexSet(0..<10)
Run Code Online (Sandbox Code Playgroud)