Я знаю, что у меня может быть значение словаря по умолчанию в swift, но я изо всех сил пытаюсь сделать это для кортежа
т.е.
var freq = [Int:(Int,Int,Int)]()
Я хочу сделать значение по умолчанию
freq[num.element, default: (0, num.offset, num.offset) ] = (7, 0, 0 )
Это создает таблицу частот с 7,0,0 для каждого значения, когда ключ не существует.
Могу ли я использовать значение по умолчанию для более сложного словаря?
Например, если у нас есть массив чисел [1,2,2,3,3,3], мы можем подсчитать количество элементов, используя таблицу частот
var freq = [Int:Int]()
for num in nums {
freq[num, default: 0] += 1
}
Мы хотим сохранить начальнуюпозиция каждого числа и конечная позиция каждого числа в таблице частот, поэтому используйте
var freq = [Int:(Int,Int,Int)]()
for num in nums.enumerated() {
if freq[num.element] == nil {
freq[num.element] = (1,num.offset, num.offset)
} else {
freq[num.element] = (freq[num.element]!.0 + 1, freq[num.element]!.1, num.offset)
}
}
. Для этого кода я хочу использовать значение по умолчанию.
Я ищу способиспользования значения по умолчанию в списке частот, содержащем более одного значения.Не имеет значения, что я использую кортеж, а не массив значений, например, я хочу выяснить, как использовать default с кортежем, используя массивы.
Я попытался использовать приведенный выше пример, чтобызначение по умолчанию, и при тестировании это не работает.Я посмотрел на предыдущие вопросы, поиск Google и посмотрел на документацию Apple.
Вопрос: Как использовать значение по умолчанию для словаря var freq = Int: (Int, Int, Int)