Python: Part 2 - Dictionaries with demos
Tags: python, dictionary
Published: 2024-03-18 00:13:55

**Dictionaries in Python:**

**1. Dictionaries**


#####Try the commands in IDLE Shell

```
myCat = {'size':'fat','color':'gray','disposition':'loud'}
myCat['size']
#Output : fat
```


'My cat has ' + myCat['color'] + ' fur.'

> output : 'My cat has gray fur.'

#####Comparing the lists

```
[1,2,3] == [3,2,1]
#False
```

#####Comparing the dictionaries with same key value pairs in different order

```
info = {'size':'fat','color':'gray','disposition':'loud'}
info1 = {'color':'gray','disposition':'loud','size':'fat'}
info == info1
>Output:  True
```


#####check the keys existing in a dictionary

```
'color' in info
#True
'color' not in info
#False
```


**1.1 Dictionary methods - keys(),values() and items()**

#####1.1.1 Try the command:  

```
list(info.keys())
```

> Output:
['size', 'color', 'disposition']

#####1.1.2 Try the command:  

```
info.values()
```
> Output:
dict_values(['fat', 'gray', 'loud'])

#####1.1.3 Try the command:

```
 list(info.values())
```
> Output
['fat', 'gray', 'loud']

#####1.1.4 Try the command: 

```
info.items()
```
> Output:
dict_items([('size', 'fat'), ('color', 'gray'), ('disposition', 'loud')])

#####1.1.5 Try the command: 

```
list(info.items())
```
> Output:
[('size', 'fat'), ('color', 'gray'), ('disposition', 'loud')]

## Dictionary with for loop


#####1.1.6 Try the command -

```
for k in info.keys() :
  print(k)
```

>output:	
size
color
disposition

#####1.1.7 Try the command -

```
for v in info.values() :
   print(v)
```

>output:	
fat
gray
loud

#####1.1.8 Try the command - 

```
for k,v in info.items():
    print(k,v)
```

>output:
size fat
color gray
disposition loud

#####1.1.9 Try the command -

```
for i in info.items():
   print(i)
```
>output:
('size', 'fat')
('color', 'gray')
('disposition', 'loud')

#####1.1.10 Try the command -

```
'fat' in info.values()
```

>output: True

**1.2 The get() Dictionary Method**

Pre-requisties : Set the variable info with the dictionary value

```
info = {'size':'fat','color':'gray','disposition':'loud'}
```


######1.2.1
```
 if 'color' in info:
	  print(info['color'])
 
 #output:  gray

```

######1.2.2
```
if 'dress' in info :
	  print(info['dress'])
#output:  ''
```

######1.2.3 : If the key - size exists it returns its value else empty string will be returned

```
info.get('size','')

```
> output : 'fat'

######1.2.4: If the key - size it returns its value else empty string will be returned

```
info.get('size','medium')

```
> output  : ''

######1.2.5

```
picnicItems = {'apples':5,'cups':2}

print('I am bringing ' + str(picnicItems.get('napkins',0)) +' to the picnic.')
```
>output: I am bringing 0 to the picnic.

######1.2.6

```
picnicItems = {'apples':5,'cups':2}

print('I am bringing ' + str(picnicItems['napkins']) +' to the picnic.')
```
>output: Error message
Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    print('I am bringing ' + str(picnicItems['napkins']) +' to the picnic.')
KeyError: 'napkins'

######1.2.7 : setdefault() 
```
eggs = {'name':'Zophie','species':'cat','age':8}
eggs.setdefault('color','black')
#output: 'black'
eggs
#output: {'name': 'Zophie', 'species': 'cat', 'age': 8, 'color': 'black'}

#if the default existing for the color key then the value won't be changed.
eggs.setdefault('color','orange')
#output: 'black'
eggs
{'name': 'Zophie', 'species': 'cat', 'age': 8, 'color': 'black'}

```

######1.2.8: character count program

######1.2.8.1
```
message = 'It was a bright cold day in April, and the clocks were striking thirteen.'
count = {}

for character in message :
    count.setdefault(character,0)
    count[character]=count[character]+1

print(count)

```

>output:
{'I': 1, 't': 6, ' ': 13, 'w': 2, 'a': 4, 's': 3, 'b': 1, 'r': 5, 'i': 6, 'g': 2, 'h': 3, 'c': 3, 'o': 2, 'l': 3, 'd': 3, 'q': 1, 'y': 1, 'n': 4, 'A': 1, 'p': 1, ',': 1, 'e': 5, 'k': 2, '.': 1}


######1.2.8.2 : convert the message to upper case and print the count

```
message = 'It was a bright cold day in April, and the clocks were striking thirteen.'
count = {}

for character in message.upper() :
    count.setdefault(character,0)
    count[character]=count[character]+1

print(count)

```
>output:
{'I': 7, 'T': 6, ' ': 13, 'W': 2, 'A': 5, 'S': 3, 'B': 1, 'R': 5, 'G': 2, 'H': 3, 'C': 3, 'O': 2, 'L': 3, 'D': 3, 'Q': 1, 'Y': 1, 'N': 4, 'P': 1, ',': 1, 'E': 5, 'K': 2, '.': 1}

######1.2.8.3 : comment the line count.setdefault(character,0) and check the response.
```
message = 'It was a bright cold day in April, and the clocks were striking thirteen.'
count = {}

for character in message.upper() :
    # count.setdefault(character,0) 
    count[character]=count[character]+1

print(count)

```
>output:
Traceback (most recent call last):
  File "C:/Srinivas/3 Code/PythonPrograms/charactercount.py", line 6, in <module>
    count[character]=count[character]+1
KeyError: 'I'

-------------------------------------------------------------------
> count.setdefault(character,0)
This line will set the count of the character to 0 for the first time, if the variable does not exists.


######1.2.8.4: Big message is assigned to the variable message and its using ''' at the start and end of the message.

``` 
message = '''Ensure your post has a cover image set to make the most of the home feed and social media platforms.
Share your post on social media platforms or with your co-workers or local communities.
Ask people to leave questions for you in the comments. It's a great way to spark additional discussion describing personally why you wrote it or why people might find it helpful.'''

count = {}

for character in message.upper() :
    count.setdefault(character,0)
    count[character]=count[character]+1

print(count)

```

>output:
{'E': 30, 'N': 12, 'S': 24, 'U': 10, 'R': 19, ' ': 62, 'Y': 9, 'O': 35, 'P': 11, 'T': 23, 'H': 11, 'A': 22, 'C': 9, 'V': 2, 'I': 21, 'M': 13, 'G': 4, 'K': 4, 'F': 7, 'D': 9, 'L': 14, '.': 4, '\n': 2, 'W': 6, '-': 1, 'Q': 1, "'": 1, 'B': 1}

######1.2.8.5 : Import pprint module

```
import pprint
message = '''Ensure your post has a cover image set to make the most of the home feed and social media platforms.
Share your post on social media platforms or with your co-workers or local communities.
Ask people to leave questions for you in the comments. It's a great way to spark additional discussion describing personally why you wrote it or why people might find it helpful.'''

count = {}

for character in message.upper() :
    count.setdefault(character,0)
    count[character]=count[character]+1

pprint.pprint(count)

```

>output:
 ==============================
{'\n': 2,
 ' ': 62,
 "'": 1,
 '-': 1,
 '.': 4,
 'A': 22,
 'B': 1,
 'C': 9,
 'D': 9,
 'E': 30,
 'F': 7,
 'G': 4,
 'H': 11,
 'I': 21,
 'K': 4,
 'L': 14,
 'M': 13,
 'N': 12,
 'O': 35,
 'P': 11,
 'Q': 1,
 'R': 19,
 'S': 24,
 'T': 23,
 'U': 10,
 'V': 2,
 'W': 6,
 'Y': 9}

######1.2.8.5 : using pprint module and using pformat

```
import pprint
message = '''Ensure your post has a cover image set to make the most of the home feed and social media platforms.
Share your post on social media platforms or with your co-workers or local communities.
Ask people to leave questions for you in the comments. It's a great way to spark additional discussion describing personally why you wrote it or why people might find it helpful.'''

count = {}

for character in message.upper() :
    count.setdefault(character,0)
    count[character]=count[character]+1

stext=pprint.pformat(count)
print(stext)

```

>output:
{'\n': 2,
 ' ': 62,
 "'": 1,
 '-': 1,
 '.': 4,
 'A': 22,
 'B': 1,
 'C': 9,
 'D': 9,
 'E': 30,
 'F': 7,
 'G': 4,
 'H': 11,
 'I': 21,
 'K': 4,
 'L': 14,
 'M': 13,
 'N': 12,
 'O': 35,
 'P': 11,
 'Q': 1,
 'R': 19,
 'S': 24,
 'T': 23,
 'U': 10,
 'V': 2,
 'W': 6,
 'Y': 9}

######1.2.9 : List of dictionaries

```
>>> allCats=[]
>>> allCats.append({'name':'Zophie','age':7,'color':'gray'})
>>> allCats.append({'name':'Pooka','age':5,'color':'gray'})
>>> allCats.append({'name':'Fat-tail','age':4,'color':'red'})
>>> allCats
[{'name': 'Zophie', 'age': 7, 'color': 'gray'}, {'name': 'Pooka', 'age': 5, 'color': 'gray'}, {'name': 'Fat-tail', 'age': 4, 'color': 'red'}]
```


Recap :

- Dictionaries contain key-value pairs. Keys are like a list's indexes.
- Dictionaries are mutable. Variables hold references to dictionary values, not the dictionary value itself.
- Dictionaries are unordered. There is no "first" key-value pair in a dictionary.
- The keys(), values(), and items() methods will return list-like values of a dictionary's keys, vaues, and both keys and values, respectively.
- The get() method can return a default value if a key doesn't exist.
- The setdefault() method can set a value if a key doesn't exist.
- The pprint module's pprint() "pretty print" function can display a dictionary value cleanly. The pformat() function returns a string value of this output.

Conclusion : Discussed about python - dictionaries used IDLE shell command for running the python code

💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and share this blog with ur friends and follow me in [linkedin](https://www.linkedin.com/in/srinivasuluparanduru/)