Transforming a list of data in Python: Difference between revisions
(Created page with "Exercise to be typed in ipython. <source lang="python"> range(100) data = range(100) for d in data: print d for d in data: print d*17 pp = [] for d in data: pp.a...") |
No edit summary |
||
Line 1: | Line 1: | ||
Exercise to be typed in ipython. | Exercise to be typed in ipython. | ||
To test, you can use the ''range'' function to get some "sample" data to work with: | |||
<source lang="python"> | <source lang="python"> | ||
data = range(100) | data = range(100) | ||
for d in data: | for d in data: | ||
print d | print d | ||
</source> | |||
Imagine you want to multiply each number by 17. | |||
<source lang="python"> | |||
for d in data: | for d in data: | ||
print d*17 | print d*17 | ||
</source> | |||
== Iterate & Append to a new list == | |||
A general purpose technique to translate the items of one list to another is to: | |||
1. Create a new empty list | |||
2. Iterate over the original list | |||
3. Use the list.append function to add (transformed) items onto the new list | |||
<source lang="python"> | |||
pp = [] | pp = [] | ||
for d in data: | for d in data: | ||
Line 21: | Line 34: | ||
pp.append(d*17) | pp.append(d*17) | ||
pp | pp | ||
</source> | |||
== List comprehensions == | |||
Python also supports a more mathematically inspired notation called List Comprehensions. The result is more compact, and may or may not be easier to read. | |||
<source lang="python"> | |||
p = range(100) | |||
pp = [x*17 for x in p] | |||
</source> | </source> |
Revision as of 15:05, 5 April 2011
Exercise to be typed in ipython.
To test, you can use the range function to get some "sample" data to work with:
data = range(100)
for d in data:
print d
Imagine you want to multiply each number by 17.
for d in data:
print d*17
Iterate & Append to a new list
A general purpose technique to translate the items of one list to another is to: 1. Create a new empty list 2. Iterate over the original list 3. Use the list.append function to add (transformed) items onto the new list
pp = []
for d in data:
pp.append(d)
pp
pp = []
for d in data:
pp.append(d*17)
pp
List comprehensions
Python also supports a more mathematically inspired notation called List Comprehensions. The result is more compact, and may or may not be easier to read.
p = range(100)
pp = [x*17 for x in p]