Python: Dictionary

By Xah Lee. Date: . Last updated: .

In Python, there's a special type of data structure called “dictionary” (aka “keyed list”, “associative array”, “hash table”.). It is a unordered list of pairs, each is a key and a value.

Creating a dictionary. {key1:val1, key2:val2, …}

#-*- coding: utf-8 -*-
# python

# creating a dictionary
hh = {"john":3, "mary":4, "jane":5}
print hh    # {'jane': 5, 'john': 3, 'mary': 4}

Getting value of a key. dict[key]

#-*- coding: utf-8 -*-
# python

hh = {"john":3, "mary":4, "jane":5}
print hh["mary"]    # 4

Add a entry. dict[key] = value

#-*- coding: utf-8 -*-
# python

hh = {"john":3, "mary":4}

# add a entry
hh["vicky"] = 99
print hh    # {'john': 3, 'mary': 4, 'vicky': 99}

Delete a entry. del dict[key]

#-*- coding: utf-8 -*-
# python

hh = {"a":3, "b":4, "c":5}

# delete a entry
del hh["b"]
print hh    # {'a': 3, 'c': 5}

Get all keys. dict.keys()

#-*- coding: utf-8 -*-
# python

hh = {"a":3, "b":4, "c":5}

# get all keys
print hh.keys() # ['a', 'c', 'b']

Get all values. dict.values()

#-*- coding: utf-8 -*-
# python

hh = {"a":3, "b":4, "c":5}

# get all values
print hh.values()   # [3, 5, 4]

Check if a key exists. key in dict

#-*- coding: utf-8 -*-
# python

hh = {"a":3, "b":4, "c":5}

# check if a key exists
print "b" in hh # True
print "d" in hh # False

What Type Can be Used as Key in Dictionary?

A key in dictionary can be anything that's hashable. Basically, string, tuple, number, or in general python data types that are “immutable”. Glossary — Python v2.7.6 documentation #term-hashable

#-*- coding: utf-8 -*-
# python

# dict key can be anything that's hashable. typically, number, string, tuple. Most things that are “immutable”
hh = {2:3, "b":4, (3,4):5}

print 2 in hh   # True
print (3,4) in hh   # True

(Thanks to 孙翰菲 for a tip.)

Dictionary Methods

Python: Dictionary Methods

If you have a question, put $5 at patreon and message me.

Python by Example

  1. Python Basics
  2. Print Version String
  3. Builtin Help

String

  1. Quote String
  2. String Operations
  3. String Methods
  4. Format String

Branching, Loop

  1. True, False
  2. if then else
  3. for, while, Loops

List

  1. List Basics
  2. Loop Thru List
  3. Map Function to List
  4. List Comprehension
  5. List Methods

Dictionary

  1. Dictionary
  2. Loop Thru Dictionary
  3. Dictionary Methods

Function

  1. Function Parameter

Class

  1. Class and Object

Module

  1. List Modules
  2. Write a Module

Unicode

  1. Python + Unicode 🐍
  2. Process Unicode
  3. Convert File Encoding

Common Tasks

  1. Read/Write File
  2. Traverse Directory
  3. Complex Numbers
  4. Get Env Var
  5. JSON

Regex

  1. Regex Basics
  2. Split Line by Regex
  3. Regex Reference

Advanced

  1. Copy Nested List
  2. Tuple vs List
  3. Sets, Union, Intersection
  4. Closure in Python 2
  5. Decorator
  6. Append String in Loop
  7. Timing Functions with timeit
  8. Keyword Argument Default Value Unstable
  1. Find Python Script Path
  2. Manipulate Path
  3. Sort Matrix, Object

Find/Replace

  1. Find/Replace Strings on Multiple Files
  2. Find/Replace Multi-line Strings in a Dir
  3. Find/Replace Mulitple Pairs of Strings
  4. Find/Replace by Regex
  5. Find/Replace Strings in Unicode Files
  6. Python, Perl: Find/Replace Strings in a File

HTML/Web

  1. Sending Email
  2. GET Web Page
  3. Web Crawler
  4. HTTP POST
  1. A Script to check HTML file size
  2. Thumbnail Generation

Misc

  1. System Call
  2. Decompress Gzip

reference