Python Language Dictionary: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 73: Line 73:
</syntaxhighlight>
</syntaxhighlight>
Note that if the key being deleted does not exist, the <code>[]</code> syntax will throw an <code>KeyError</code> exception.
Note that if the key being deleted does not exist, the <code>[]</code> syntax will throw an <code>KeyError</code> exception.
==Delete All Items==
Use the <code>clear()</code> function:
<syntaxhighlight lang='py'>
d = {...}
d.clear()
</syntaxhighlight>


==Combine Dictionaries==
==Combine Dictionaries==

Revision as of 20:24, 16 February 2022

Internal

Overview

A dictionary is a mutable collection of key-value pairs. The pairs can be accessed and modified. Each key is unique within the key set, and can be an instance of any immutable type: boolean, integer, float, tuple, string, etc. In other programming languages, the same data structure is referred to as "associative array" or "hash tables" or "hash maps".

Key Discussion

The keys 1 and True are equivalent. Why?

Create a Dictionary

A new dictionary instance is declared using the {...} syntax. The curly braces are placed around comma-separated key: value pairs. The dictionary can be empty

d = {}

or it can be populated with values:

d = {'a': 'b', 1: 2}

It is good form to insert a space after :. A comma is tolerated after the last pair.

Access a Dictionary

Access Individual Elements

Individual dictionary elements can be accessed with the [] syntax or with the get() function.

Access with [] Syntax

The [] syntax can only be used with keys that exist in the dictionary:

d = {'a': 'b'}
print(d['a'])

An attempt to access an inexistent key will throw a KeyError exception. To avoid the exception, use get() instead, or test the existence of the key first.

get() Function

d = {'a': 'b'}
print(d.get('a')) # will display 'a'
print(d.get('no-such-key')) # will display None

Test the Existence of a Key

The existence of the key can be tested with in:

if 'some-key' in d:
  print("key exists")

get() can also be used:

if d.get('some-key') is not None:
  print("key exists")

Get All Keys

Get All Values

Modify a Dictionary

Modify Individual Elements

Modification with [] Syntax

Individual elements can be modified with the [] syntax. If the key does not exist, the key-value pair will be added to the dictionary. If the key exists, the associated value will be updated:

d = {}
d['a'] = 'b'
print(d['a']) # will display "a"
d['a'] = 'c'
print(d['a']) # will display "c"

Delete Individual Element

d = {'a': 'b', 'c': 'd'}
del d['a']
print(d) # will display {'c': 'd'}

Note that if the key being deleted does not exist, the [] syntax will throw an KeyError exception.

Delete All Items

Use the clear() function:

d = {...}
d.clear()

Combine Dictionaries