Как подсчитать количество раз, когда подстрока(слово) появилась в строке с помощью кортежей
вот в чем проблема -
Вам предоставляется массив строк, хранящихся в переменной strings. Создайте новый массив с именем countedStrings, содержащий значения типа (String, Int). Каждый кортеж содержит строку из массива strings, за которой следует целое число, указывающее, сколько раз оно появляется в массиве strings. Каждая строка должна появляться только один раз в массиве countedStrings.
Что я уже пробовал:
Я не решил проблему так, как она уже решена. Я просто пытаюсь понять это. Какую-то часть я мог понять, а какую-то-нет. Пожалуйста, любой из вас, джентльмены, помогите мне понять те части, которые я не мог понять. решенный:-
ВАР а = ["кортежи", "являются", "удивительный", "кортежи", "являются", "круто",
"кортежи", "кортежи"," кортежи", " тени"]
var y: [(String, Int)] = []///*[(String, Int)]: тип вашей переменной, в данном случае тип Array of (String, Int), компилятор позволит вам вставить в Ваш массив только объект типа (String, Int). []: по умолчанию используется пустой массив.
для z в a { //здесь z представляет подстроку, a представляет строку
var x = false
для i в 0..< y. count {//i=0, i< y.count(потому что массив начинается с 0, а count начинается с единицы
if (y[i].0 = = z) {//не смог понять
y[i].1 += 1/ / не смог понять
x = true/ / не смог понять
}
}
если x = = false {//не удалось понять
пусть кортеж = (z, 2)/ / не смог понять
y. append ((z, 1))/ / не смог понять
}
}
печать (y)
// отпечатки [("кортежи", 5), ("есть", 2), ("потрясающе", 1), ("круто", 1), ("оттенки", 1)]