{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# `set` - to'plam turi\n", "\n", "## Kirish\n", "\n", "* `set` turi matematikadagi to'plamlarni ifodalaydi\n", "* tartiblanmagan\n", "* o'zgartirib bo'lmaydigan\n", "* indeks operatori mavjud emas\n", "* takrorlanuvchi elementlar mavjud bo'lmaydi\n", "* faqat heshlash mumkin bo'lgan turlarni saqlaydi" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'banana', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "'set' object does not support item assignment", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[92], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m thisset \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mapple\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbanana\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcherry\u001b[39m\u001b[38;5;124m\"\u001b[39m}\n\u001b[0;32m----> 2\u001b[0m \u001b[43mthisset\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124morange\u001b[39m\u001b[38;5;124m'\u001b[39m\n", "\u001b[0;31mTypeError\u001b[0m: 'set' object does not support item assignment" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "thisset[0] = 'orange'" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'banana', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\", \"apple\"}\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{True, 2, 'cherry', 'banana', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\", True, 1, 2}\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'cherry', 'banana', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\", 1, True, 2}\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{0, True, 2, 'cherry', '', 'banana', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\", True, 1, 2, 0, False, ''}\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{0, True, 2, 'cherry', '', 'apple', (2, 3), 'banana'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\", True, 1, 2, 0, False, '', (2, 3)}\n", "\n", "print(thisset)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Mutable va immutable\n", "\n", "### Mutable\n", "\n", "* `list`\n", "\n", "### Immutable\n", "\n", "* `tuple`, `str`, `set`, etc\n" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "print(len(thisset))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {1, 5, 7, 9, 3}\n", "set3 = {True, False, False}" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [], "source": [ "set1 = {\"abc\", 34, True, 40, \"male\"}" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "myset = {\"apple\", \"banana\", \"cherry\"}\n", "print(type(myset))" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'banana', 'apple'}\n" ] } ], "source": [ "thisset = set((\"apple\", \"banana\", \"cherry\", 'apple')) # note the double round-brackets\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n", "1\n", "cherry\n", "orange\n", "banana\n", "apple\n" ] } ], "source": [ "thisset = {0, 'orange', \"apple\", \"banana\", \"cherry\", 1}\n", "\n", "for x in thisset:\n", " print(x)" ] }, { "cell_type": "code", "execution_count": 116, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "print(\"banana\" in thisset)" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "False\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "print(\"banana\" not in thisset)" ] }, { "cell_type": "code", "execution_count": 119, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'orange', 'cherry', 'banana', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "thisset.add(\"orange\")\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 121, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'pineapple', 'papaya', 'mango', 'cherry', 'banana', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "tropical = {\"pineapple\", \"mango\", \"papaya\"}\n", "\n", "thisset.update(tropical)\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'orange', 'kiwi', 'apple', 'banana'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "mylist = [\"kiwi\", \"orange\"]\n", "\n", "thisset.update(mylist)\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 125, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "thisset.remove(\"banana\")\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "thisset.discard(\"banana\")\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cherry\n", "{'banana', 'apple'}\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "x = thisset.pop()\n", "\n", "print(x)\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "set()\n" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "thisset.clear()\n", "\n", "print(thisset)" ] }, { "cell_type": "code", "execution_count": 129, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'thisset' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[129], line 5\u001b[0m\n\u001b[1;32m 1\u001b[0m thisset \u001b[38;5;241m=\u001b[39m {\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mapple\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbanana\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcherry\u001b[39m\u001b[38;5;124m\"\u001b[39m}\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m thisset\n\u001b[0;32m----> 5\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mthisset\u001b[49m)\n", "\u001b[0;31mNameError\u001b[0m: name 'thisset' is not defined" ] } ], "source": [ "thisset = {\"apple\", \"banana\", \"cherry\"}\n", "\n", "del thisset\n", "\n", "print(thisset)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## `set`larni qo'shish\n", "\n", "* `union()`\n", "* `update()`\n", "* `intersection()`\n", "* `difference()`\n", "* `symmetric_difference()`" ] }, { "cell_type": "code", "execution_count": 131, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'a', 3, 'b', 'c'}\n" ] } ], "source": [ "set1 = {\"a\", \"b\", \"c\"}\n", "set2 = {1, 2, 3}\n", "\n", "set3 = set1.union(set2)\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 132, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'a', 3, 'b', 'c'}\n" ] } ], "source": [ "set1 = {\"a\", \"b\", \"c\"}\n", "set2 = {1, 2, 3}\n", "\n", "set3 = set1 | set2\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 133, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'a', 3, 'cherry', 'apple', 'b', 'bananas', 'John', 'c', 'Elena'}\n" ] } ], "source": [ "set1 = {\"a\", \"b\", \"c\"}\n", "set2 = {1, 2, 3}\n", "set3 = {\"John\", \"Elena\"}\n", "set4 = {\"apple\", \"bananas\", \"cherry\"}\n", "\n", "myset = set1.union(set2, set3, set4)\n", "print(myset)" ] }, { "cell_type": "code", "execution_count": 134, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'a', 3, 'cherry', 'apple', 'b', 'bananas', 'John', 'c', 'Elena'}\n" ] } ], "source": [ "set1 = {\"a\", \"b\", \"c\"}\n", "set2 = {1, 2, 3}\n", "set3 = {\"John\", \"Elena\"}\n", "set4 = {\"apple\", \"bananas\", \"cherry\"}\n", "\n", "myset = set1 | set2 | set3 |set4\n", "print(myset)" ] }, { "cell_type": "code", "execution_count": 136, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'a', 3, 'b', 'c'}\n" ] } ], "source": [ "x = {\"a\", \"b\", \"c\"}\n", "y = [1, 2, 3]\n", "\n", "z = x.union(y)\n", "print(z)" ] }, { "cell_type": "code", "execution_count": 137, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'a', 3, 'b', 'c'}\n" ] } ], "source": [ "set1 = {\"a\", \"b\" , \"c\"}\n", "set2 = {1, 2, 3}\n", "\n", "set1.update(set2)\n", "print(set1)" ] }, { "cell_type": "code", "execution_count": 138, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'apple'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set3 = set1.intersection(set2)\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 139, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'apple'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set3 = set1 & set2\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 140, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'apple'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set1.intersection_update(set2)\n", "\n", "print(set1)" ] }, { "cell_type": "code", "execution_count": 141, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{False, 1, 'apple'}\n" ] } ], "source": [ "set1 = {\"apple\", 1, \"banana\", 0, \"cherry\"}\n", "set2 = {False, \"google\", 1, \"apple\", 2, True}\n", "\n", "set3 = set1.intersection(set2)\n", "\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 143, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'banana'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set3 = set1.difference(set2)\n", "\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 144, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'banana'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set3 = set1 - set2\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 145, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'cherry', 'banana'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set1.difference_update(set2)\n", "\n", "print(set1)" ] }, { "cell_type": "code", "execution_count": 146, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'microsoft', 'cherry', 'banana', 'google'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set3 = set1.symmetric_difference(set2)\n", "\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'microsoft', 'cherry', 'banana', 'google'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set3 = set1 ^ set2\n", "print(set3)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'microsoft', 'cherry', 'banana', 'google'}\n" ] } ], "source": [ "set1 = {\"apple\", \"banana\", \"cherry\"}\n", "set2 = {\"google\", \"microsoft\", \"apple\"}\n", "\n", "set1.symmetric_difference_update(set2)\n", "\n", "print(set1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## `dict` - lug'at turi" ] }, { "cell_type": "code", "execution_count": 147, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "print(thisdict)" ] }, { "cell_type": "code", "execution_count": 148, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ford\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "print(thisdict[\"brand\"])" ] }, { "cell_type": "code", "execution_count": 149, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'brand': 'Ford', 'model': 'Mustang', 'year': 2020}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964,\n", " \"year\": 2020\n", "}\n", "print(thisdict)" ] }, { "cell_type": "code", "execution_count": 150, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "print(len(thisdict))" ] }, { "cell_type": "code", "execution_count": 152, "metadata": {}, "outputs": [], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"electric\": False,\n", " \"year\": 1964,\n", " \"colors\": [\"red\", \"white\", \"blue\"]\n", "}" ] }, { "cell_type": "code", "execution_count": 153, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "print(type(thisdict))" ] }, { "cell_type": "code", "execution_count": 154, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'name': 'John', 'age': 36, 'country': 'Norway'}\n" ] } ], "source": [ "thisdict = dict(name = \"John\", age = 36, country = \"Norway\")\n", "print(thisdict)" ] }, { "cell_type": "code", "execution_count": 159, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mustang\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "x = thisdict[\"model\"]\n", "print(x)" ] }, { "cell_type": "code", "execution_count": 164, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "None\n" ] } ], "source": [ "x = thisdict.get(\"model1\")\n", "print(x)" ] }, { "cell_type": "code", "execution_count": 165, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dict_keys(['brand', 'model', 'year'])" ] }, "execution_count": 165, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = thisdict.keys()\n", "x" ] }, { "cell_type": "code", "execution_count": 167, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['brand', 'model', 'year'])\n", "dict_keys(['brand', 'model', 'year', 'color'])\n" ] } ], "source": [ "car = {\n", "\"brand\": \"Ford\",\n", "\"model\": \"Mustang\",\n", "\"year\": 1964\n", "}\n", "\n", "x = car.keys()\n", "\n", "print(x) #before the change\n", "\n", "car[\"color\"] = \"white\"\n", "\n", "print(x) #after the change" ] }, { "cell_type": "code", "execution_count": 168, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'brand': 'Ford', 'model': 'Mustang', 'year': 1964, 'color': 'white'}" ] }, "execution_count": 168, "metadata": {}, "output_type": "execute_result" } ], "source": [ "car" ] }, { "cell_type": "code", "execution_count": 169, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_values(['Ford', 'Mustang', 1964])\n" ] } ], "source": [ "x = thisdict.values()\n", "print(x)" ] }, { "cell_type": "code", "execution_count": 170, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_values(['Ford', 'Mustang', 1964])\n", "dict_values(['Ford', 'Mustang', 2020])\n" ] } ], "source": [ "car = {\n", "\"brand\": \"Ford\",\n", "\"model\": \"Mustang\",\n", "\"year\": 1964\n", "}\n", "\n", "x = car.values()\n", "\n", "print(x) #before the change\n", "\n", "car[\"year\"] = 2020\n", "\n", "print(x) #after the change" ] }, { "cell_type": "code", "execution_count": 171, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_values(['Ford', 'Mustang', 1964])\n", "dict_values(['Ford', 'Mustang', 1964, 'red'])\n" ] } ], "source": [ "car = {\n", "\"brand\": \"Ford\",\n", "\"model\": \"Mustang\",\n", "\"year\": 1964\n", "}\n", "\n", "x = car.values()\n", "\n", "print(x) #before the change\n", "\n", "car[\"color\"] = \"red\"\n", "\n", "print(x) #after the change" ] }, { "cell_type": "code", "execution_count": 172, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 1964)])\n" ] } ], "source": [ "x = thisdict.items()\n", "print(x)" ] }, { "cell_type": "code", "execution_count": 173, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 1964)])\n", "dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 2020)])\n" ] } ], "source": [ "car = {\n", "\"brand\": \"Ford\",\n", "\"model\": \"Mustang\",\n", "\"year\": 1964\n", "}\n", "\n", "x = car.items()\n", "\n", "print(x) #before the change\n", "\n", "car[\"year\"] = 2020\n", "\n", "print(x) #after the change" ] }, { "cell_type": "code", "execution_count": 174, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 1964)])\n", "dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 1964), ('color', 'red')])\n" ] } ], "source": [ "car = {\n", "\"brand\": \"Ford\",\n", "\"model\": \"Mustang\",\n", "\"year\": 1964\n", "}\n", "\n", "x = car.items()\n", "\n", "print(x) #before the change\n", "\n", "car[\"color\"] = \"red\"\n", "\n", "print(x) #after the change" ] }, { "cell_type": "code", "execution_count": 175, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "brand Ford\n", "model Mustang\n", "year 1964\n", "color red\n" ] } ], "source": [ "for key, value in car.items():\n", " print(key, value)" ] }, { "cell_type": "code", "execution_count": 179, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Yes, 'model' is one of the keys in the thisdict dictionary\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "if \"model\" in thisdict:\n", " print(\"Yes, 'model' is one of the keys in the thisdict dictionary\")" ] }, { "cell_type": "code", "execution_count": 180, "metadata": {}, "outputs": [], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "thisdict[\"year\"] = 2018" ] }, { "cell_type": "code", "execution_count": 182, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'brand': 'Tiko', 'model': 'Mustang', 'year': 2020, 'color': 'red'}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "thisdict.update({\"year\": 2020, 'brand': 'Tiko', 'color': 'red'})\n", "print(thisdict)" ] }, { "cell_type": "code", "execution_count": 183, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'brand': 'Ford', 'year': 1964}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "thisdict.pop(\"model\")\n", "print(thisdict)" ] }, { "cell_type": "code", "execution_count": 184, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'brand': 'Ford', 'model': 'Mustang'}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "thisdict.popitem()\n", "print(thisdict)" ] }, { "cell_type": "code", "execution_count": 185, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'brand': 'Ford', 'year': 1964}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "del thisdict[\"model\"]\n", "print(thisdict)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'thisdict' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[76], line 7\u001b[0m\n\u001b[1;32m 1\u001b[0m thisdict \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m 2\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mbrand\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mFord\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 3\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mmodel\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMustang\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 4\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124myear\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;241m1964\u001b[39m\n\u001b[1;32m 5\u001b[0m }\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mdel\u001b[39;00m thisdict\n\u001b[0;32m----> 7\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mthisdict\u001b[49m) \u001b[38;5;66;03m#this will cause an error because \"thisdict\" no longer exists.\u001b[39;00m\n", "\u001b[0;31mNameError\u001b[0m: name 'thisdict' is not defined" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "del thisdict\n", "print(thisdict) #this will cause an error because \"thisdict\" no longer exists." ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "thisdict.clear()\n", "print(thisdict)" ] }, { "cell_type": "code", "execution_count": 186, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "brand\n", "model\n", "year\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "for x in thisdict:\n", " print(x)" ] }, { "cell_type": "code", "execution_count": 188, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "brand Ford\n", "model Mustang\n", "year 1964\n" ] } ], "source": [ "for x in thisdict:\n", " print(x, thisdict[x])" ] }, { "cell_type": "code", "execution_count": 189, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ford\n", "Mustang\n", "1964\n" ] } ], "source": [ "for x in thisdict.values():\n", " print(x)" ] }, { "cell_type": "code", "execution_count": 190, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "brand\n", "model\n", "year\n" ] } ], "source": [ "for x in thisdict.keys():\n", " print(x)" ] }, { "cell_type": "code", "execution_count": 191, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "brand Ford\n", "model Mustang\n", "year 1964\n" ] } ], "source": [ "for x, y in thisdict.items():\n", " print(x, y)" ] }, { "cell_type": "code", "execution_count": 192, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "mydict = thisdict.copy()\n", "print(mydict)" ] }, { "cell_type": "code", "execution_count": 193, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'brand': 'Ford', 'model': 'Mustang', 'year': 1964}\n" ] } ], "source": [ "thisdict = {\n", " \"brand\": \"Ford\",\n", " \"model\": \"Mustang\",\n", " \"year\": 1964\n", "}\n", "mydict = dict(thisdict)\n", "print(mydict)" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [], "source": [ "myfamily = {\n", " \"child1\" : {\n", " \"name\" : \"Emil\",\n", " \"year\" : 2004\n", " },\n", " \"child2\" : {\n", " \"name\" : \"Tobias\",\n", " \"year\" : 2007\n", " },\n", " \"child3\" : {\n", " \"name\" : \"Linus\",\n", " \"year\" : 2011\n", " }\n", "}" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [], "source": [ "child1 = {\n", " \"name\" : \"Emil\",\n", " \"year\" : 2004\n", "}\n", "child2 = {\n", " \"name\" : \"Tobias\",\n", " \"year\" : 2007\n", "}\n", "child3 = {\n", " \"name\" : \"Linus\",\n", " \"year\" : 2011\n", "}\n", "\n", "myfamily = {\n", " \"child1\" : child1,\n", " \"child2\" : child2,\n", " \"child3\" : child3\n", "}" ] }, { "cell_type": "code", "execution_count": 194, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tobias\n" ] } ], "source": [ "print(myfamily[\"child2\"][\"name\"])" ] }, { "cell_type": "code", "execution_count": 195, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "child1\n", "name: Emil\n", "year: 2004\n", "child2\n", "name: Tobias\n", "year: 2007\n", "child3\n", "name: Linus\n", "year: 2011\n" ] } ], "source": [ "for x, obj in myfamily.items():\n", " print(x)\n", "\n", " for y in obj:\n", " print(y + ':', obj[y])" ] } ], "metadata": { "kernelspec": { "display_name": "ai-courses", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.14" } }, "nbformat": 4, "nbformat_minor": 2 }