Difference between revisions of "Python:DataTypes"
Line 62: | Line 62: | ||
print key2,dict[name][key2] | print key2,dict[name][key2] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ==None== | ||
+ | The <code>None</code> object is returned e.g. if nothing is found in a re.search. The <code>None</code> object is '''not''' an empty string | ||
=Slicing= | =Slicing= |
Revision as of 22:25, 6 January 2018
Object types
Objects are iterable if they can contain more than 1 ordered objects (string, list, tuple, dict). Objects are mutable if their content can be changed (list, set, dict)
Note: Variables are pointers to objects, not the object itself.
list
Class of iterable, mutable objects. Lists can be compared to arrays in other languages. Lists can contain a mixture of all kind of objects.
- lst1 = []
- Initialize an empty list
- lst1.append(2)
- Add the '2' object to the end of lst1
- lst1=list(object)
- convert object to a list (object is e.g. set, tuple or string)
set
Class of non iterable, mutable objects. Objects added to sets are hashed. Therefor:
- Only immutable objects can be added to a set.
- Sets cannot hold duplicate objects (adding an objects again does not change the set.
- Checking if a set holds an object is very fast.
- set1 = set()
- Initialize an empty set
- set1.add(2)
- Add the '2' object to set1
Tuple
Class of iterable, immutable objects. Results from database queries are by default returned as tuple.
- tpl1 = ()
- Initialize an empty tuple
Dictionary or dict
Class of iterable, mutable objects. Dictionary's can be compared to perl hashes.
- dict1 = {}
- Initialize an empty dictionary.
- dict1 = { column1: value1, column2: value2 }
- Initialize dictionary with data
Code example:
dict = {}
dict["name1"] = {}
dict["name1"]["street"] = "mystreet"
for name in dict:
print name
for key2 in dict[name]:
print key2,dict[name][key2]
for name in dict:
print name
for key2 in sorted(dict[name].keys()):
print key2,dict[name][key2]
None
The None
object is returned e.g. if nothing is found in a re.search. The None
object is not an empty string
Slicing
You can address all iterable datatypes partly or in a difference sequence.
- object[b:e:s]
- Generic format where b=Begin (counting starts at 0), e=End, s=Stepsize (negative stepsize starts counting at the end)