1.Kreiere eine Liste aus Zahlen, die aus 10 Elementen besteht, und ordne sie der Variabel a zu.
In [34]:
a = list(range(10))
In [35]:
a
Out[35]:
2.Mache dasselbe mit einer Liste aus 100 Elementen und ordne sie der Variabel b zu.
In [36]:
b = list(range(100))
In [37]:
b
Out[37]:
3.Füge beiden Listen folgenden String an: 'ich bin keine Zahl'
In [38]:
a.append("ich bin keine Zahl")
In [39]:
a
Out[39]:
In [40]:
b.append("ich bin keine Zahl")
4.Lösche diesen letzten Eintrag in der Liste wieder
In [41]:
a.pop() #Oder auch mittel Funktion remove a.remove
Out[41]:
In [42]:
a
Out[42]:
In [43]:
b.pop()
Out[43]:
In [44]:
b
Out[44]:
5.Verwandle jede Zahl in den Listen a und b von int in str?
In [45]:
a = list(map(str, a))
In [46]:
a
Out[46]:
In [47]:
b = list(map(str, b))
b
Out[47]:
In [48]:
#Barnabys Lösung for x in a:
a = range(10)
a
Out[48]:
In [49]:
#Barnabys Lösung: for loops! Sehr wichtig! Wir müssen in Liste reingehen und die Liste manipulieren.
empty_list = []
for element_in_the_list in a:
new_element = str(element_in_the_list)
empty_list.append(new_element)
empty_list
Out[49]:
6.Von der list b, zeige nur die letzten zehn Nummern an
In [50]:
b = range(100)
str(b)
lange_leere_liste = []
for x in b:
neues_element = str(x)
lange_leere_liste.append(neues_element)
In [51]:
b[89:95]
Out[51]:
7.Von der folgenden Liste, zeige den zweit grössten Wert an
In [52]:
#Schritt 1: sortieren Schritt 2: -2
c = range(100)
c = range(0,100)
c = list (range(100))
c
Out[52]:
In [53]:
c[-2]
Out[53]:
In [54]:
sorted(c, reverse=True) #Sortieren und die Reihenfolge ändern
Out[54]:
In [55]:
c[1]
Out[55]:
In [ ]:
In [72]:
c[::2] #Jedes 2. Element.
Out[72]:
In [73]:
c[::3] #Jedes 3. Element.
Out[73]:
In [74]:
d = [23, 333, 567, 888]
d
Out[74]:
In [ ]:
#Python Panda als Hilfsmlittel bei Listen. Listen sind sehr praktisch.
8.Multipliziere jede Nummer in dieser Liste, die kleiner ist als 100, mit 100; wenn die Nummern zwischen 100 und 1000 verwandle sie in eine String, und wenn sie grösser oder gleich 1000 ist, lösche sie.
In [56]:
#Umwandlung zurück in integer
b = list(map(int, b))
In [57]:
#Neue Liste, in welche die Datenveränderungen abgespeichert wird
b_new = []
In [58]:
#Schritt 1: Multiplikation mit 100 wenn
for elem in b:
if elem < 100:
temp = elem*100
b_new.append(temp)
else:
b_new.append(elem)
continue
In [59]:
#Schritt 2: Umwandlung in String wenn Listenelement zwischen 100 und 1000
for elem in b_new:
if elem > 100 and elem < 1000:
index = int(elem/100)
b_new[index]=str(elem)
if elem >= 1000:
for i in [i for i,x in enumerate(b_new) if x == elem]:
del b_new[i]
print(i)
else:
continue
In [60]:
b_new
Out[60]:
In [77]:
#Frage 8 gemäss Barnaby
e = list(range(10))
e
Out[77]:
In [81]:
#Multipliziere jede Nummer in dieser Liste, die kleiner ist als 100, mit 100; wenn die Nummern zwischen 100 und 1000 verwandle sie in eine String, und wenn sie grösser oder gleich 1000 ist, lösche sie.
e_neue = []
for elem in e:
if elem > 1000:
pass
elif elem > 100:
e_neue.append(str(elem))
else:
elem= elem *100
e_neue.append(elem)
e_neue
Out[81]:
In [82]:
e_neue = []
index = 0
for elem in e:
if elem > 1000:
pass
elif elem > 100:
e_neue.append(str(elem))
else:
elem = elem * 100
e_neue.append(elem)
print(index)
index +=1
9.Schreibe eine Dictionary-Liste der fünf grössten Schweizer Städte, ihrer Bevölkerung und dem jeweiligen Kanton.
In [83]:
#Quelle: Wikipedia. Die grössten Schweizer Städte.
ZH = {'Stadt': 'Zurich', 'Bevölkerung': 396027, 'Kanton': 'ZH'}
GE = {'Stadt': 'Genf', 'Bevölkerung': 194565, 'Kanton': 'GE'}
BS = {'Stadt': 'Basel', 'Bevölkerung': 175131, 'Kanton': 'BS'}
BE = {'Stadt': 'Bern', 'Bevölkerung': 140634, 'Kanton': 'BE'}
LS = {'Stadt': 'Lausanne', 'Bevölkerung': 135629, 'Kanton': 'VD'}
In [84]:
dct_lst = [ZH,GE,BS,BE,LS]
In [85]:
dct_lst
Out[85]:
10.Zeige nur die Bevölkerung der Stadt Genf an
In [86]:
dct_lst[1]['Bevölkerung']
Out[86]:
In [93]:
b = 0
for elem in dct_lst:
b = b + elem["Bevölkerung"] #Eingabe mittels Tab-Taste.
print(b)
In [94]:
b
Out[94]:
11.Drucke (print) das Total der Bevölkerungen aller Städte aus
In [95]:
a=0
for dic in dct_lst:
a = a+ dic['Bevölkerung']
In [96]:
a
Out[96]:
12.Rechne den Anteil der Bevölkerung der jeweiligen Städte an der Gesamtbevölkerung der Schweiz aus und "print" die Ergebnisse neben dem Städtenamen
In [110]:
gesamt = 8000000
for city in dct_lst:
prozent = (city['Bevölkerung']/gesamt*100)
print(city['Stadt'], '::::: ', str(prozent)) #Auf Klammern achten!
13.Füge noch die Städte Winterthur und Luzern hinzu
In [111]:
Winterthur = {'Stadt': 'Winterthur', 'Bevölkerung': 106778, 'Kanton': 'ZH'}
Luzern = {'Stadt': 'Luzern', 'Bevölkerung': 81284, 'Kanton': 'LU'}
dct_lst.append(Winterthur)
dct_lst.append(Luzern)
dct_lst
Out[111]:
In [70]:
dct_lst.pop()
Out[70]:
14.Ergänze die Städte-Dictionary-Liste mit Winterthur und Luzern
In [71]:
#Siehe oben.
15.Wiederhole den loop von oben, um den Anteil der Bevölkerung an der Gesamtbevölkerung auszurechnen, dieses Mal mit Winterthur und Luzern
In [ ]: