diff --git a/00_Python_LinA/tutorial00_python_ex2.ipynb b/00_Python_LinA/tutorial00_python_ex2.ipynb
index 7ef301cb975e2be64c06880fe0d14117163efb1b..bdea043f0b12d66ecdab4cae067acb07f68dfbb2 100644
--- a/00_Python_LinA/tutorial00_python_ex2.ipynb
+++ b/00_Python_LinA/tutorial00_python_ex2.ipynb
@@ -130,10 +130,11 @@
    "outputs": [],
    "source": [
     "i = j = k = 7\n",
-    "i += 5;\n",
-    "j *= 5;\n",
-    "k **= 5;\n",
-    "print(i, j, k)"
+    "i += 5\n",
+    "j *= 5\n",
+    "k **= 5\n",
+    "print(i, j, k)\n",
+    "# Kein i++"
    ]
   },
   {
@@ -154,9 +155,9 @@
     "print(1 + 2 > 3)\n",
     "print(1 + 2 <= 3)\n",
     "print(1 + 2 is 3)\n",
-    "print(True or False)\n",
-    "print(True and False)\n",
-    "print(not True)"
+    "print(True or False) # ||\n",
+    "print(True and False) # &&\n",
+    "print(not True) # !"
    ]
   },
   {
@@ -188,7 +189,9 @@
   {
    "cell_type": "code",
    "execution_count": null,
-   "metadata": {},
+   "metadata": {
+    "scrolled": true
+   },
    "outputs": [],
    "source": [
     "l.append(False)\n",
@@ -232,6 +235,7 @@
    "outputs": [],
    "source": [
     "A = [[1,2,3], [4,5,6], [7,8,9]]\n",
+    "print(A)\n",
     "print(A[0][0], A[1][0], A[1][2])\n",
     "print(A[0], A[1], A[2])"
    ]
@@ -251,13 +255,14 @@
    "outputs": [],
    "source": [
     "print(l)\n",
-    "print(l[2:5])\n",
-    "print(l[2:])\n",
-    "print(l[:5])\n",
+    "print(l[2:5]) # der Index von stop ist nicht mit dabei\n",
+    "print(l[2:]) # stop weglassen => bis zum Ende\n",
+    "print(l[:5]) # start weglassen => vom Anfang an\n",
     "print(l[:])\n",
     "\n",
-    "print(l[2:5:2])\n",
-    "print(l[5:2:-1])"
+    "print(l[2:5:2]) # Das erste Element (start) ist immer mit dabei\n",
+    "print(l[5:2:-1])\n",
+    "print(l[::-1])"
    ]
   },
   {
@@ -293,8 +298,10 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "t += (\"white\",)\n",
-    "print(t)"
+    "t += (\"white\",) # es wird ein neues Tupel erstellt\n",
+    "print(t)\n",
+    "a, b, c, d, e = t\n",
+    "print(c, e)"
    ]
   },
   {
@@ -339,7 +346,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "def greet(): \n",
+    "def greet():\n",
     "    print(\"Hello world\")\n",
     "\n",
     "greet()"
@@ -351,7 +358,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "def square(x):\n",
+    "def square(x: int) -> int:\n",
     "    return x**2\n",
     "\n",
     "print(square(4))"
@@ -435,7 +442,7 @@
     "\n",
     "print(positive(14), positive(0))\n",
     "\n",
-    "# return x > 0 ? True : False"
+    "# C/Java return x > 0 ? True : False"
    ]
   },
   {
@@ -451,7 +458,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "for i in range(5):\n",
+    "for i in range(5): # Python For-Schleifen iterieren immer über ein iterable z.B. Liste\n",
     "    print(i)\n",
     "    \n",
     "print(list(range(1, 6)))\n",
@@ -511,6 +518,16 @@
     "    print(el)"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "for i in range(len(l2)):\n",
+    "    print(i, l2[i])"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
@@ -694,8 +711,10 @@
    "metadata": {},
    "outputs": [],
    "source": [
+    "a = b = [1,2,3]\n",
     "print([1,2,3] == [1,2,3])\n",
-    "print([1,2,3] is [1,2,3])"
+    "print([1,2,3] is [1,2,3])\n",
+    "print(a is b)"
    ]
   },
   {
@@ -735,7 +754,8 @@
     "print(a[:2])\n",
     "print(a[::-1])\n",
     "print(a[1::2])\n",
-    "print(a[[0, 2, 3, 4]])"
+    "print(a[[0, 2, 3, 4]]) # Liste von Indizes\n",
+    "print(a[[True, False, True, False, False, True]])"
    ]
   },
   {
@@ -751,7 +771,10 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "b = np.array([6, 5, 4, 3, 2, 1]) # b = a[::-1]"
+    "print(a + 2)\n",
+    "print(3 * a)\n",
+    "print(a**2)\n",
+    "print(2**a)"
    ]
   },
   {
@@ -760,10 +783,7 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "print(a + 2)\n",
-    "print(3 * a)\n",
-    "print(a**2)\n",
-    "print(2**a)"
+    "b = np.array([6, 5, 4, 3, 2, 1]) # b = a[::-1]"
    ]
   },
   {
@@ -923,6 +943,18 @@
     "print(A[:, :, None])"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "X = np.array([[1,0],[0,1]])\n",
+    "Y = np.array([[1,1],[2,1],[3,4]])\n",
+    "print(X[:, None] - Y[None, :])\n",
+    "print(X[None, :] - Y[:, None])"
+   ]
+  },
   {
    "cell_type": "markdown",
    "metadata": {},
@@ -1166,7 +1198,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.8.3"
+   "version": "3.7.6"
   }
  },
  "nbformat": 4,