Woche 02 WS 2025#
Grundstruktur Listenbearbeitung
Durchgehen durch eine Liste von Eingabewerten#
def irgendeinefunktion( z ):
return( z*z )
l = [1, 2, 3] # Eingabe, hier als Liste
e = [] # das Ergebnis
for x in l:
y = irgendeinefunktion( x )
e.append( y )
# als List Comprehension (s.u.) wäre das
e2 = [ x*x for x in l ]
print(e)
print(e2)
[1, 4, 9]
[1, 4, 9]
l = [1, 2, 3] # Eingabe, hier als Liste
e = [] # das Ergebnis, hier als eine Liste von Listen
for x in l:
y = irgendeinefunktion( x )
e.append( [x, y] )
e
[[1, 1], [2, 4], [3, 9]]
l = [1, 2, 3] # Eingabe, hier als Liste
e = {} # das Ergebnis, hier als dict
for x in l:
y = irgendeinefunktion( x )
e[ x ] = y
e
{1: 1, 2: 4, 3: 9}
Durchgehen mit Hilfe von Index-Werten#
aussprache = { 1: "oanz", 2: "zwo", 3: "gsuffa!" }
aussprache[1]
'oanz'
Durchgehen durch ein Dict; k sind die Schlüssel
def dielängevon( z ):
return len(z)
aussprache = { 1: "oanz", 2: "zwo", 3: "gsuffa!" } ## Eingabe
e = [] # Ergebnis
# gesucht ist die Anzahl der Buchstaben der Aussprache
for k in [ 1, 2, 3]: # k ... key
#print( aussprache[k] )
y = dielängevon( aussprache[k] )
e.append( y )
e
[4, 3, 7]
def dielängevon( x ):
return len(x)
aussprache = { 1: "oanz", 2: "zwo", 3: "gsuffa!" } ## Eingabe
e = [] # Ergebnis
# gesucht ist die Anzahl der Buchstaben der Aussprache
for k in aussprache.keys(): # k ... key
print( k, aussprache[k] )
y = dielängevon( aussprache[k] )
e.append( y )
e
1 oanz
2 zwo
3 gsuffa!
[4, 3, 7]
aussprache = { 1: "oanz", 2: "zwo", 3: "gsuffa!" } ## Eingabe
e = [] # Ergebnis
for v in aussprache.values(): # v value
print( v )
y = dielängevon( v )
e.append( y )
e
oanz
zwo
gsuffa!
[4, 3, 7]
aussprache = { 1: "oanz", 2: "zwo", 3: "gsuffa!" } ## Eingabe
e = [] # Ergebnis
for k, v in aussprache.items(): # v value
print( k, v )
y = dielängevon( v )
#y = dielängevon( aussprache[k] ) # gleich wie die vorige Zeile
e.append( (x, y) )
e
1 oanz
2 zwo
3 gsuffa!
[(3, 4), (3, 3), (3, 7)]
List Comprehension#
l = [ 1, 2, 5, 7]
q = [] # quadratzahlen
for x in l:
q.append( x*x )
q
[1, 4, 25, 49]
q = [ x*x for x in l ]
q
[1, 4, 25, 49]
l = [ 1, 2, 3, 4, 5, 6, 7]
uq = [] # ungeraden quadratzahlen
for x in l:
if x % 2 == 1:
uq.append( x*x )
uq
[1, 9, 25, 49]
uq = [ x*x for x in l if x % 2 == 1 ]
uq
[1, 9, 25, 49]
[ x for x in range(1,8) ]
[1, 2, 3, 4, 5, 6, 7]
aussprache
{1: 'oanz', 2: 'zwo', 3: 'gsuffa!'}
list( aussprache.keys() )
[1, 2, 3]
aussprache.values()
dict_values(['oanz', 'zwo', 'gsuffa!'])
Woche 02 WS 2024#
unkommentierte Aufschriebe Woche 2
l = [ 'a', 'b', 'c', 'e' ]
l
['a', 'b', 'c', 'e']
len( l )
4
len( l[0:2] )
2
L = [2, 3, 7, 5]
L
[2, 3, 7, 5]
L.sort()
L
[2, 3, 5, 7]
L.append( 11 )
L
[2, 3, 5, 7, 11]
L + [ "99" ]
[2, 3, 5, 7, 11, '99']
L
[2, 3, 5, 7, 11]
int( "28" )
28
float( "28" )
28.0
'28' + '99'
'2899'
str( 6*7 )
'42'
numbers = {'one':1, 'two':2, 'three':3}
numbers["one"]
1
geburtstage = { 'Hugo': '2013-01-01'}
geburtstage["Hugo"]
'2013-01-01'
geburtstage["Eva"] = '2012-12-24'
geburtstage
{'Hugo': '2013-01-01', 'Eva': '2012-12-24'}
glueck = {} # ist ein dict
glueck["g"] = geburtstage
glueck["Adresse"] = { "straße": "Ahornweg", "Nummer": 7 }
glueck
{'g': {'Hugo': '2013-01-01', 'Eva': '2012-12-24'},
'Adresse': {'straße': 'Ahornweg', 'Nummer': 7}}
einmaleins = { (1,1 ): 1, ...: ..., (6,7): 6*7 } # ein dict als Wertetabelle
einmaleins
{(1, 1): 1, Ellipsis: Ellipsis, (6, 7): 42}
einmaleins[ (6,7) ]
42
# einmaleins = { [1,1] : 1 } # Listen können keine keys sein: nicht hash-bar, weil veränderlich
q = [ 1, 2, 4 , 9 ]
q.append( 16 )
q
[1, 2, 4, 9, 16]
r = ( 1, 2, 4 , 9 )
r
(1, 2, 4, 9)
# r.append( 16 ) # ein Tupel ist unveränderlich (und deshalb z.B. als key in einem dicht zulässig)
prim = { 11, 2, 3, 5, 7 } # eine Menge
prim
{2, 3, 5, 7, 11}
prim = {} # ein dict
{1, 3, 5}.union( {5, 7, 11} )
{1, 3, 5, 7, 11}
z = { 1: "eins", 3: "drei" }
type ( z )
dict
z = { 1, 3, 7 }
type( z )
set
z = {}
type( z )
dict
z = set()
type( z )
set
p = {1, 3 ,5 }
# p = {}
p.union( {} )
{1, 3, 5}
type( p )
set
p = {} # ein Dict
p["Hallo"] = "Hallo Welt!"
p
{'Hallo': 'Hallo Welt!'}
Einrückung ist semantisch bedeutsam!
z = 110
if z % 2 == 0:
print(z, "ist gerade")
if z % 3 == 0:
print(z, "ist sogar durch 6 teilbar!")
else:
print(z, "ist ungerade")
110 ist gerade
Vorschau nächste Woche, Schleifen:
l = [ 3, 7, 11, 110 ]
for x in l:
print( x, x*x )
3 9
7 49
11 121
110 12100