Boston Python Workshop 3/Data types: Difference between revisions
Content added Content deleted
imported>Jesstess |
imported>Jesstess No edit summary |
||
Line 114: | Line 114: | ||
else: |
else: |
||
print "Too extreme for me." |
print "Too extreme for me." |
||
</pre> |
|||
==Lists== |
|||
* Use lists to store data where order matters. |
|||
* Lists are indexed starting with 0 |
|||
====List initialization==== |
|||
>>> my_list = [] |
|||
>>> my_list |
|||
[] |
|||
>>> your_list = ["a", "b", "c", 1, 2, 3] |
|||
>>> your_list |
|||
['a', 'b', 'c', 1, 2, 3] |
|||
====Access and adding elements to a list==== |
|||
<pre> |
|||
>>> len(my_list) |
|||
0 |
|||
>>> my_list[0] |
|||
Traceback (most recent call last): |
|||
File "<stdin>", line 1, in <module> |
|||
IndexError: list index out of range |
|||
>>> my_list.append("Alice") |
|||
>>> my_list |
|||
['Alice'] |
|||
>>> len(my_list) |
|||
1 |
|||
>>> my_list[0] |
|||
'Alice' |
|||
>>> my_list.insert(0, "Amy") |
|||
>>> my_list |
|||
['Amy', 'Alice'] |
|||
</pre> |
|||
<pre> |
|||
>>> my_list = ['Amy', 'Alice'] |
|||
>>> 'Amy' in my_list |
|||
True |
|||
>>> 'Bob' in my_list |
|||
False |
|||
</pre> |
|||
====Changing elements in a list==== |
|||
<pre> |
|||
>>> your_list = [] |
|||
>>> your_list.append("apples") |
|||
>>> your_list[0] |
|||
'apples' |
|||
>>> your_list[0] = "bananas" |
|||
>>> your_list |
|||
['bananas'] |
|||
</pre> |
|||
====Slicing lists==== |
|||
<pre> |
|||
>>> her_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] |
|||
>>> her_list[0] |
|||
'a' |
|||
>>> her_list[0:3] |
|||
['a', 'b', 'c'] |
|||
>>> her_list[:3] |
|||
['a', 'b', 'c'] |
|||
>>> her_list[-1] |
|||
'h' |
|||
>>> her_list[5:] |
|||
['f', 'g', 'h'] |
|||
>>> her_list[:] |
|||
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] |
|||
</pre> |
|||
====Sharing versus copying==== |
|||
<b>Sharing</b><br /> |
|||
<pre> |
|||
>>> my_list |
|||
['Alice'] |
|||
>>> your_list = my_list |
|||
>>> your_list |
|||
['Alice'] |
|||
>>> my_list[0] = "Bob" |
|||
>>> my_list |
|||
['Bob'] |
|||
>>> your_list |
|||
['Bob'] |
|||
</pre> |
|||
<b>Copying</b><br /> |
|||
<pre> |
|||
>>> my_list |
|||
['Alice'] |
|||
>>> your_list = my_list[:] |
|||
>>> my_list[0] = "Bob" |
|||
>>> my_list |
|||
['Bob'] |
|||
>>> your_list |
|||
['Alice'] |
|||
</pre> |
|||
====Strings are a lot like lists==== |
|||
<pre> |
|||
>>> my_string = "Hello World" |
|||
>>> my_string[0] |
|||
'H' |
|||
>>> my_string[:5] |
|||
'Hello' |
|||
>>> my_string[6:] |
|||
'World' |
|||
>>> my_string = my_string[:6] + "Jessica" |
|||
>>> my_string |
|||
'Hello Jessica' |
|||
</pre> |
|||
====Types==== |
|||
<pre> |
|||
>>> type(my_list) |
|||
<type 'list'> |
|||
</pre> |
</pre> |
Revision as of 15:53, 12 June 2011
Numbers: integers and floats
- Integers don't have a decimal place.
- Floats have a decimal place.
>>> type(1) <type 'int'> >>> type(1.0) <type 'float'>
Math: addition, subtraction, multiplication
addition: 2 + 2
subtraction: 0 - 2
multiplication: 2 * 3
Math: division
>>> 4 / 2 2 >>> 1 / 2 0
- Integer division produces an integer. You need a number that knows about the decimal point to get a decimal out of division:
>>> 1.0 / 2 0.5 >>> float(1) / 2 0.5
Strings
- String are surrounded by quotes.
- Use triple-quotes (""") to create whitespace-preserving multi-line strings.
>>> "Hello" 'Hello'
>>> print """In 2009, ... The monetary component of the Nobel Prize ... was US $1.4 million.""" In 2009, The monetary component of the Nobel Prize was US $1.4 million.
>>> type("Hello") <type 'str'>
String concatenation with '+': "Hello" + "World"
Printing strings with '+': print "Hello" + "World"
Printing strings with ',': print "Hello", "World", 1
Booleans
- There are two booleans,
True
andFalse
. - Use booleans to make decisions.
>>> type(True) <type 'bool'> >>> type(False) <type 'bool'>
Containment with 'in' and 'not in'
<pr> >>> "H" in "Hello" True >>> "a" not in ["a", "b", "c"] False
Equality
==
tests for equality!=
tests for inequality<
,<=
,>
, and>=
have the same meaning as in math class.
>>> 0 == 0 True >>> 0 == 1 False
"a" != "a"
"a" != "A"
Use with if/else blocks
- When Python encounters the
if
keyword, it evaluates the expression following the keyword and before the colon. If that expression isTrue
, Python executes the code in the indented code block under the if line. If that expression isFalse
, Python skips over the code block.
temperature = 32 if temperature > 60 and temperature < 75: print "It's nice and cozy in here!" else: print "Too extreme for me."
Lists
- Use lists to store data where order matters.
- Lists are indexed starting with 0
List initialization
>>> my_list = [] >>> my_list [] >>> your_list = ["a", "b", "c", 1, 2, 3] >>> your_list ['a', 'b', 'c', 1, 2, 3]
Access and adding elements to a list
>>> len(my_list) 0 >>> my_list[0] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range >>> my_list.append("Alice") >>> my_list ['Alice'] >>> len(my_list) 1 >>> my_list[0] 'Alice' >>> my_list.insert(0, "Amy") >>> my_list ['Amy', 'Alice']
>>> my_list = ['Amy', 'Alice'] >>> 'Amy' in my_list True >>> 'Bob' in my_list False
Changing elements in a list
>>> your_list = [] >>> your_list.append("apples") >>> your_list[0] 'apples' >>> your_list[0] = "bananas" >>> your_list ['bananas']
Slicing lists
>>> her_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] >>> her_list[0] 'a' >>> her_list[0:3] ['a', 'b', 'c'] >>> her_list[:3] ['a', 'b', 'c'] >>> her_list[-1] 'h' >>> her_list[5:] ['f', 'g', 'h'] >>> her_list[:] ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
Sharing versus copying
Sharing
>>> my_list ['Alice'] >>> your_list = my_list >>> your_list ['Alice'] >>> my_list[0] = "Bob" >>> my_list ['Bob'] >>> your_list ['Bob']
Copying
>>> my_list ['Alice'] >>> your_list = my_list[:] >>> my_list[0] = "Bob" >>> my_list ['Bob'] >>> your_list ['Alice']
Strings are a lot like lists
>>> my_string = "Hello World" >>> my_string[0] 'H' >>> my_string[:5] 'Hello' >>> my_string[6:] 'World' >>> my_string = my_string[:6] + "Jessica" >>> my_string 'Hello Jessica'
Types
>>> type(my_list) <type 'list'>