- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Swift Program to Get key from Dictionary using the value
A dictionary is a collection of key-value pairs. Which means keys and values are interrelated with each other. So using a value we can easily get single or multiple keys from the given dictionary.
Algorithm
Step 1 − Create a dictionary with key-value pairs.
Step 2 − Then create a function which will return the key from the dictionary using the value.
Step 3 − Inside the function we run a for-in loop which iterates over the key-value pairs of the given dictionary.
Step 4 − Now check if the current value is equal to the specified value. If yes, then return the related key. Otherwise, return 0 or nil.
Step 5 − If a value has multiple keys, then store them in an array and then return that array.
Step 6 − Create a variable to store the value.
Step 7 − Call the function and pass the value and the dictionary as a parameter in it.
Step 8 − Display the output.
Example 1
In the following Swift program, we are going to get a key from the dictionary using the value. So for that, we are going to create a dictionary and then create a function which will return a key from the given dictionary according to the specified value.
import Foundation import Glibc let myLang = [2001:"C#", 2002:"Swift", 2003:"C++", 2004: "Java", 2005: "Python"] func findKey(mvalue: String, dict: [Int:String])-> Int { for (key, value) in dict { if value == mvalue { return key } } return 0 } let val = "Java" let resultantKey = findKey(mvalue: val, dict: myLang) if (resultantKey == 0) { print("Key not found. Please try Again") } else { print("The key for the value:\(val) is \(resultantKey)") }
Output
The key for the value:Java is 2004
Example 2
In the following Swift program, we are going to get the key from the dictionary using the value. So for that, we will create a dictionary and then a function which will return all the keys that have the specified values because as we know that a dictionary can only have unique keys, but can have duplicate values. So a single value can have multiple keys.
import Foundation import Glibc let myLang = ["C#": 10, "Swift": 30, "C++": 30, "Java": 32, "Python": 30, "C": 10] func findKey(mvalue: Int, dict: [String:Int])-> [String] { var resKeys:[String] = [] for (key, value) in dict { if value == mvalue { resKeys.append(key) } } return resKeys } let val = 30 let resultantKey = findKey(mvalue: val, dict: myLang) if resultantKey.isEmpty { print("Key not found. Please try Again") } else { print("The keys for the value:\(val) are \(resultantKey)") }
Output
The keys for the value:30 are ["C++", "Swift", "Python"]
Conclusion
So this is how we can get a key from a dictionary using the value. The working of both methods is almost the same, the first one works for unique key-value pairs and the other works for those unique keys that have duplicate values. Because as we know that in a dictionary keys are unique but values can be duplicated.