Wave changes
This commit is contained in:
99
Notes/20250805141906-python_dictionary.org
Normal file
99
Notes/20250805141906-python_dictionary.org
Normal file
@@ -0,0 +1,99 @@
|
||||
:PROPERTIES:
|
||||
:ID: 125c81dc-c14f-4b4d-93c6-0a2b157735ac
|
||||
:END:
|
||||
#+title: python-dictionary
|
||||
#+filetags: :python:notes:
|
||||
|
||||
Dictionaries are used to store data values in key:value pairs.
|
||||
|
||||
A dictionary is a collection which is ordered*, changeable and do not allow duplicates.
|
||||
|
||||
*As of Python version 3.7, dictionaries are ordered. In Python 3.6 and earlier, dictionaries are unordered.
|
||||
|
||||
Dictionaries are written with curly brackets, and have keys and values:
|
||||
|
||||
#+begin_src python
|
||||
|
||||
# Create and print a dictionary:
|
||||
thisdict = {
|
||||
"brand": "Ford",
|
||||
"model": "Mustang",
|
||||
"year": 1964
|
||||
}
|
||||
print(thisdict)
|
||||
|
||||
#+end_src
|
||||
|
||||
Iterating:
|
||||
|
||||
Iterate through Value
|
||||
|
||||
To iterate through all values of a dictionary in Python using .values(), you can employ a for loop, accessing each value sequentially. This method allows you to process or display each individual value in the dictionary without explicitly referencing the corresponding keys.
|
||||
|
||||
Example: In this example, we are using the values() method to print all the values present in the dictionary.
|
||||
|
||||
#+begin_src python :results output
|
||||
|
||||
# create a python dictionary
|
||||
d = {"name": "Geeks", "topic": "dict", "task": "iterate"}
|
||||
|
||||
# loop over dict values
|
||||
for val in d.values():
|
||||
print(val)
|
||||
#+end_src
|
||||
|
||||
Iterate through keys
|
||||
|
||||
In Python, just looping through the dictionary provides you its keys. You can also iterate keys of a dictionary using built-in `.keys()` method.
|
||||
|
||||
#+begin_src python :results output
|
||||
|
||||
# create a python dictionary
|
||||
d = {"name": "Geeks", "topic": "dict", "task": "iterate"}
|
||||
|
||||
# default loooping gives keys
|
||||
for keys in d:
|
||||
print(keys)
|
||||
|
||||
# looping through keys
|
||||
for keys in d.keys():
|
||||
print(keys)
|
||||
|
||||
#+end_src
|
||||
|
||||
Iterate through both keys and values
|
||||
|
||||
You can use the built-in items() method to access both keys and items at the same time. items() method returns the view object that contains the key-value pair as tuples.
|
||||
|
||||
#+begin_src python :results output
|
||||
|
||||
# create a python dictionary
|
||||
d = {"name": "Geeks", "topic": "dict", "task": "iterate"}
|
||||
|
||||
# iterating both key and values
|
||||
for key, value in d.items():
|
||||
print(f"{key}: {value}")
|
||||
|
||||
#+end_src
|
||||
|
||||
Sorting:
|
||||
|
||||
Lambda function accesses the key (item[0]) during sorting. It offers flexibility if you want to tweak the sorting logic later.
|
||||
|
||||
#+begin_src python :results output
|
||||
import operator
|
||||
|
||||
a = {"Gfg": 5, "is": 7, "Best": 2, "for": 9, "geeks": 8}
|
||||
res = dict(sorted(a.items(), key=lambda item: item[0]))
|
||||
print(res)
|
||||
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
: {'Best': 2, 'Gfg': 5, 'is': 7, 'geeks': 8, 'for': 9}
|
||||
|
||||
Explanation: `lambda item: item[0]` sorts the dictionary by the first element of each tuple (the key).
|
||||
|
||||
[[id:3bbc6099-0187-4bf2-9282-97e5fa443f72][python-sorted-function]]
|
||||
|
||||
[[id:9d534e89-7f0b-494c-bff6-7b3be05b85d1][python-lambda]]
|
||||
Reference in New Issue
Block a user