SORTING¶

In [ ]:
xs = [20,30,10,60,40]
xs.sort()
print(xs)
[10, 20, 30, 40, 60]
In [ ]:
ys = [20,30,10,60,40]
ss = sorted(xs)
print(ys)
print(ss)
[20, 30, 10, 60, 40]
[10, 20, 30, 40, 60]
In [ ]:
zs = ["John","Alice","Howard"]
szs = sorted(zs)
print(zs)
print(szs)
['John', 'Alice', 'Howard']
['Alice', 'Howard', 'John']
In [ ]:
sdata = [('ATL',6,0.667), ('ARI',8,0.555), ('CLE',9,0.867) ]
ss = sorted(sdata) # sorts by default on first component of tuple
print(ss)
[('ARI', 8, 0.555), ('ATL', 6, 0.667), ('CLE', 9, 0.867)]
In [ ]:
sdata = [('ATL',6,0.667), ('ARI',8,0.555), ('CLE',9,0.367) ]
ss = sorted(sdata,key=lambda x: x[2],reverse=True)
print(ss)
[('ATL', 6, 0.667), ('ARI', 8, 0.555), ('CLE', 9, 0.367)]

WHILE LOOP¶

In [ ]:
while True:
  x = input("Enter a command: ")
  if x == 'q':
    break
  else:
    print("You entered",x)
print("Done")
You entered a
Done

FORMATTED PRINT¶

In [ ]:
print("x{:>10s}x{:^5d}x{:<6.2f}x".format("Charles",34,62.33))
x   Charlesx 34  x62.33 x

ENUMERATED FOR-LOOP¶

In [ ]:
xs = ["John","Alice","Howard"]
for x in xs:
    print(x)
John
Alice
Howard
In [ ]:
xs = ["John","Alice","Howard"]
for i in range(len(xs)):
    print(xs[i])
John
Alice
Howard
In [ ]:
xs = ["John","Alice","Howard"]
for (i,x) in enumerate(xs):
    print(i,x)
0 John
1 Alice
2 Howard
In [ ]:
xs = ["John","Alice","Howard"]
list(enumerate(xs))
Out[ ]:
[(0, 'John'), (1, 'Alice'), (2, 'Howard')]

RANGE¶

In [ ]:
for x in range(5):
    print(x)
0
1
2
3
4
In [ ]:
for x in range(10,15):
    print(x)
10
11
12
13
14
In [ ]:
for x in range(10,20,2):
    print(x)
10
12
14
16
18
In [ ]:
list(range(10,20,2))
Out[ ]:
[10, 12, 14, 16, 18]

zip¶

In [ ]:
xs = [1,2,3,4]
ys = ["John","Alice","Howard","Tom"]
list(zip(xs,ys))
Out[ ]:
[(1, 'John'), (2, 'Alice'), (3, 'Howard'), (4, 'Tom')]
In [ ]:
x1 = list(range(5))
x2 = list(range(10,15))
x3 = list(range(110,115))
list(zip(x1,x2,x3))
Out[ ]:
[(0, 10, 110), (1, 11, 111), (2, 12, 112), (3, 13, 113), (4, 14, 114)]
In [ ]:
SORTING

>>> xs = [20,30,10,60,40]
>>> ss = sorted(xs)
>>> ss
[10, 20, 30, 40, 60]
>>> xs = [20,30,10,60,40]
>>> xs.sort()
>>> xs
[10, 20, 30, 40, 60]
>>> xs = ["Bob", "Alice", "Charles", "Fred", "George"]
>>> ss = sorted(xs)
>>> ss
['Alice', 'Bob', 'Charles', 'Fred', 'George']
>>> xs
['Bob', 'Alice', 'Charles', 'Fred', 'George']
>>> xs.sort()
>>> xs
['Alice', 'Bob', 'Charles', 'Fred', 'George']
>>> 
>>> xs.sort(reverse=True)
>>> xs
['George', 'Fred', 'Charles', 'Bob', 'Alice']
>>> xs = [20,30,10,60,40]
>>> ss = sorted(xs,reverse=True)
>>> ss
[60, 40, 30, 20, 10]
>>> 
>>> xs = [("a",20),("z",36),("p",11),("x",6)]
>>> sorted(xs)
[('a', 20), ('p', 11), ('x', 6), ('z', 36)]
>>> xs.sort(key=lambda x: x[1])
>>> xs
[('x', 6), ('p', 11), ('a', 20), ('z', 36)]
>>> xs.sort(key=lambda x: x[1])
>>> sorted(xs,key=lambda x: x[1])
[('x', 6), ('p', 11), ('a', 20), ('z', 36)]
>>> sorted(xs,key=lambda x: x[0])
[('a', 20), ('p', 11), ('x', 6), ('z', 36)]
>>>


WHILE LOOP

while True:
  ...
  ...
  if C:
    break
  ...
  ...

continue (skips remaining steps and re-performs loop)

while True:
  x = input("Enter a command: ")
  if x == 'q':
    break
  else:
    print("You entered",x)
print("Done")


FORMATTED PRINT

>>> print("{:10s}{:5d}{:6.2f}".format("Charles",34,62.33))
Charles      34 62.33
>>> print("{:>10s}{:5d}{:6.2f}".format("Charles",34,62.33))
   Charles   34 62.33
>>> print("{:>10s}{:>5d}{:6.2f}".format("Charles",34,62.33))
   Charles   34 62.33
>>> print("{:>10s}{:<5d}{:6.2f}".format("Charles",34,62.33))
   Charles34    62.33
>>> print("x{:10s}x{:5d}x{:6.2f}x".format("Charles",34,62.33))
xCharles   x   34x 62.33x
>>>

< left-justified
> right-justified
^ centered

strings are left-justified by default
numbers are right-justified by default

ENUMERATED FOR-LOOP

>>> xs = ["John","Alice","Charles","Tom"]
>>> for (i,x) in enumerate(xs):
...   print(i,x)
... 
0 John
1 Alice
2 Charles
3 Tom
>>>


RANGE

for i in range(10):
  print(i)

for u in range(5,10):
  print(u)

for v in range(5,10,2):
  print(v)


ZIP

for (x,y) in zip(xs,ys):
  print(x,y)