Should you use a list or a tuple ... or perhaps a dictionary to store a collection of objects in your Python program? To help you make the decision, think whether you need to be able to modify the collection after you've created it (mutable) or not (immutable), and whether you want it to be indexed in order, or not.
Those two answers should lead to your collection type:
| Unordered | Ordered |
---|
Mutable | Dictionary { and } | List [ and ] |
---|
Immutable | n/a | Tuple ( and ) |
---|
If you want an immutable unordered collection (the empty box in my table), use a dictionary. And when you're initially creating the collection, use ( ), [ ] or { } as shown in the table. Always use [ and ] to reference member elements after the initial creation - Python does it like that to render any code you write polymorphic ... i.e. to be common code that will work whatever the collection type.
(written 2006-11-29, updated 2006-12-01)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y107 - Python - Dictionaries [103] Can't resist writing about Python - (2004-10-29)
[1144] Python dictionary for quick look ups - (2007-04-12)
[1145] Using a list of keys and a list of values to make a dictionary in Python - zip - (2007-04-13)
[2368] Python - fresh examples of all the fundamentals - (2009-08-20)
[2915] Looking up a value by key - associative arrays / Hashes / Dictionaries - (2010-08-11)
[2986] Python dictionaries - reaching to new uses - (2010-10-05)
[2994] Python - some common questions answered in code examples - (2010-10-10)
[3464] Passing optional and named parameters to python methods - (2011-10-04)
[3488] Python sets and frozensets - what are they? - (2011-10-20)
[3554] Learning more about our web site - and learning how to learn about yours - (2011-12-17)
[3555] Football league tables - under old and new point system. Python program. - (2011-12-18)
[3662] Finding all the unique lines in a file, using Python or Perl - (2012-03-20)
[3934] Multiple identical keys in a Python dict - yes, you can! - (2012-11-24)
[4027] Collections in Python - list tuple dict and string. - (2013-03-04)
[4029] Exception, Lambda, Generator, Slice, Dict - examples in one Python program - (2013-03-04)
[4409] Setting up and using a dict in Python - simple first example - (2015-01-30)
[4469] Sorting in Python 3 - and how it differs from Python 2 sorting - (2015-04-20)
[4661] Unique word locator - Python dict example - (2016-03-06)
[4668] Sorting a dict in Python - (2016-04-01)
Y104 - Python - Lists and Tuples [383] Overloading of operators on standard objects in Python - (2005-07-19)
[657] The ternary operator in Python - (2006-03-25)
[899] Python - extend v append on a list - (2006-10-20)
[1220] for loop - how it works (Perl, PHP, Java, C, etc) - (2007-06-06)
[1641] Tektronix 4010 series / Python Tuples - (2008-05-13)
[1789] Looking for a value in a list - Python - (2008-09-08)
[2280] Creating and iterating through Python lists - (2009-07-12)
[2284] Strings as collections in Python - (2009-07-12)
[2719] Traffic lights in Python - (2010-04-13)
[2996] Copying - duplicating data, or just adding a name? Perl and Python compared - (2010-10-12)
[3118] Arrays of arrays - or 2D arrays. How to program tables. - (2011-01-02)
[3181] Beware - a=a+b and a+=b are different - Python - (2011-02-23)
[3257] All possible combinations from a list (Python) or array (Ruby) - (2011-04-23)
[3348] List slices in Python - 2 and 3 values forms, with an uplifting example - (2011-07-06)
[3669] Stepping through a list (or an array) in reverse order - (2012-03-23)
[3763] Spike solutions and refactoring - a Python example - (2012-06-13)
[4368] Shuffling a list - Ruby and Python - (2014-12-28)
[4722] Embedding more complex code into a named block - (2016-11-04)
Some other Articles
It's the 1st, not the 1nd 1rd or 1th.Plain Ole nice picturesImproving the historic town of MelkshamPython security - trouble with inputPython collections - mutable and imutableSplitting Pythons in BradfordChristmas in NovemberComing from London to Melksham by train for a courseWhat happened at GeekmasPython and the Magic Roundabout