Just starting to figure Python out. I've read this question and its responses:
Is it true that I can't use curly braces in Python?
and I still can't fathom how curly braces work, especially since pages like Simple Programs:
use curly braces all over the place. I understand square brackets and regular curved parentheses, but I don't know what's meant by "defining dictionaries" or what they're supposed to represent.
45 Answers
"Curly Braces" are used in Python to define a dictionary. A dictionary is a data structure that maps one value to another - kind of like how an English dictionary maps a word to its definition.
Python:
dict = { "a" : "Apple", "b" : "Banana", } They are also used to format strings, instead of the old C style using %, like:
ds = ['a', 'b', 'c', 'd'] x = ['has_{} 1'.format(d) for d in ds] print x ['has_a 1', 'has_b 1', 'has_c 1', 'has_d 1'] They are not used to denote code blocks as they are in many "C-like" languages.
C:
if (condition) { // do this } Update: In addition to Python's dict data types Python has (since Python 2.7) set as well, which uses curly braces too and are declared as follows:
my_set = {1, 2, 3, 4} 5In Python, curly braces are used to define a dictionary.
a={'one':1, 'two':2, 'three':3} a['one']=1 a['three']=3 In other languages, { } are used as part of the flow control. Python however used indentation as its flow control because of its focus on readable code.
for entry in entries: code.... There's a little easter egg in Python when it comes to braces. Try running this on the Python Shell and enjoy.
from __future__ import braces 1In languages like C curly braces ({}) are used to create program blocks used in flow control. In Python, curly braces are used to define a data structure called a dictionary (a key/value mapping), while white space indentation is used to define program blocks.
Dictionaries in Python are data structures that store key-value pairs. You can use them like associative arrays. Curly braces are used when declaring dictionaries:
d = {'One': 1, 'Two' : 2, 'Three' : 3 } print d['Two'] # prints "2" Curly braces are not used to denote control levels in Python. Instead, Python uses indentation for this purpose.
I think you really need some good resources for learning Python in general. See
2A dictionary is something like an array that's accessed by keys (e.g. strings,...) rather than just plain sequential numbers. It contains key/value pairs, you can look up values using a key like using a phone book: key=name, number=value.
For defining such a dictionary, you use this syntax using curly braces, see also: