Фильтрация словаря по значению


#1

Есть словарь

 dic  = ["A": 1, "Bwer": 2, "ui": 3, "wer": 4, "dvcsd": 5, "23_wer": 6, "9264": 7]

Его нужно отфильтровать по значению

 let Result = "wer"

И получить отфильтрованный словарь

Как это сделать?


#2

Вот так нужно?

let dic  = ["A": 1, "Bwer": 2, "ui": 3, "wer": 4, "dvcsd": 5, "23_wer": 6, "9264": 7]
let filterDic = dic.filter { $0.key == "wer" }
print(filterDic) // ["wer": 4]

#3

Нет, нужно чтобы на выходе было вот так

 dic  = ["A": 1, "ui": 3, "dvcsd": 5, "9264": 7]

#4

dic.filter { !$0.key.contains("wer") }


#5

Да, но результат получается не совсем тот. Убираться только “wer”: 4

 dic  = ["A": 1, "Bwer": 2, "ui": 3, "dvcsd": 5, "23_wer": 6, "9264": 7]

а нужно

 dic  = ["A": 1, "ui": 3, "dvcsd": 5, "9264": 7]

“Bwer” и “23_wer” тоже бы убрать как то


#6

Странно

let dic = ["A": 1, "Bwer": 2, "ui": 3, "wer": 4, "dvcsd": 5, "23_wer": 6, "9264": 7]
let filterDic = dic.filter { !$0.key.contains("wer") }
print(filterDic) // ["dvcsd": 5, "A": 1, "9264": 7, "ui": 3]

#7

Там все убирается правильно. Смотрите тогда уже на свой код, где-то ошибка.
Еще было бы неплохо, если бы вы почитали про метод contains.


#8

Да, спасибо я не туда смотрел…