{ "cells": [ { "cell_type": "markdown", "id": "a936c916", "metadata": {}, "source": [ "### 리스트 컴프리헨션" ] }, { "cell_type": "code", "execution_count": 4, "id": "fc9b5294", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]\n" ] } ], "source": [ "square = [ x**2 for x in range(10)]\n", "print(square)" ] }, { "cell_type": "code", "execution_count": 5, "id": "0f88e720", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]\n" ] } ], "source": [ "combs = []\n", "for x in [1,2,3]:\n", " for y in [3,1,4]:\n", " if x != y:\n", " combs.append((x, y))\n", "print(combs)" ] }, { "cell_type": "code", "execution_count": 6, "id": "3453577b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]\n" ] } ], "source": [ "combs = [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]\n", "print(combs)" ] }, { "cell_type": "code", "execution_count": 7, "id": "b954da09", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27]\n" ] } ], "source": [ "gugudan = [ x*y for x in [2,3] for y in range(1,10) ]\n", "print(gugudan)" ] }, { "cell_type": "code", "execution_count": 8, "id": "f5d08faa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[-8, -4, 0, 4, 8]\n" ] } ], "source": [ "vec = [-4, -2, 0, 2, 4]\n", "a = [x*2 for x in vec]\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 13, "id": "2acfa736", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 2, 4]\n" ] } ], "source": [ "a = [ x for x in vec if x>=0]\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 15, "id": "017df0d3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[4, 2, 0, 2, 4]\n" ] } ], "source": [ "a = [ abs(x) for x in vec ]\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 18, "id": "cbf83ddf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['banana', 'loganberry', 'passion fruit']\n" ] } ], "source": [ "freshfruit = [' banana', ' loganberry ', 'passion fruit ']\n", "a = [x.strip() for x in freshfruit]\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 17, "id": "90fbdd28", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]\n" ] } ], "source": [ "a = [(x, x**2) for x in range(6)]\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 24, "id": "b93a2d0e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'tuple'>\n", "<class 'tuple'>\n", "(1, 2)\n" ] } ], "source": [ "a = (1,2)\n", "print(type(a))\n", "b = 1,2 # 튜플 패킹\n", "print(type(b))\n", "print(b)" ] }, { "cell_type": "code", "execution_count": 27, "id": "6ffffa85", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]\n" ] } ], "source": [ "a = [(x, x**2) for x in range(6)]\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 28, "id": "0595c73f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 3, 4, 5, 6, 7, 8, 9]\n" ] } ], "source": [ "vec = [[1,2,3], [4,5,6], [7,8,9]]\n", "a = [num for elem in vec for num in elem]\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 33, "id": "da4e3f94", "metadata": {}, "outputs": [], "source": [ "matrix = [\n", " [1, 2, 3, 4],\n", " [5, 6, 7, 8],\n", " [9, 10, 11, 12],\n", " ]" ] }, { "cell_type": "code", "execution_count": 30, "id": "8571bca4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]\n" ] } ], "source": [ "a=[[row[i] for row in matrix] for i in range(4)] #[[1,5,9],[2,6,10],[3,7,11],[4,8,12]]\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 31, "id": "7a761baa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]\n" ] } ], "source": [ "transposed = []\n", "for i in range(4):\n", " transposed.append([row[i] for row in matrix])\n", "print(transposed)" ] }, { "cell_type": "code", "execution_count": 32, "id": "f084a092", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1 5 9]\n", " [ 2 6 10]\n", " [ 3 7 11]\n", " [ 4 8 12]]\n" ] } ], "source": [ "import numpy as np\n", "\n", "matrix = np.array([\n", " [1, 2, 3, 4],\n", " [5, 6, 7, 8],\n", " [9, 10, 11, 12],\n", " ])\n", "\n", "print(matrix.T)" ] }, { "cell_type": "code", "execution_count": 34, "id": "39f2da9c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]\n" ] } ], "source": [ "# [[row[i] for row in matrix] for i in range(4)] \n", "\n", "transposed = []\n", "for i in range(4):\n", " transposed_row = []\n", " for row in matrix:\n", " transposed_row.append(row[i])\n", " transposed.append(transposed_row)\n", "\n", "print(transposed)" ] }, { "cell_type": "markdown", "id": "85fae393", "metadata": {}, "source": [ "### 튜플 응용" ] }, { "cell_type": "code", "execution_count": 38, "id": "820ca6be", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(12345, 54321, 'hello!')\n" ] }, { "data": { "text/plain": [ "12345" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t = 12345, 54321, 'hello!' # 튜플 패킹\n", "print(t)\n", "t[0]" ] }, { "cell_type": "code", "execution_count": 39, "id": "18686a46", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))\n" ] } ], "source": [ "u = t, (1, 2, 3, 4, 5)\n", "print(u)" ] }, { "cell_type": "code", "execution_count": 40, "id": "68370884", "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "'tuple' object does not support item assignment", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m<ipython-input-40-d739abe3b757>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mt\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m88888\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mTypeError\u001b[0m: 'tuple' object does not support item assignment" ] } ], "source": [ "t[0] = 88888" ] }, { "cell_type": "code", "execution_count": 41, "id": "37283658", "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "'tuple' object doesn't support item deletion", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m<ipython-input-41-542f9bb8f15e>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mdel\u001b[0m \u001b[0mt\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mTypeError\u001b[0m: 'tuple' object doesn't support item deletion" ] } ], "source": [ "del t[0]" ] }, { "cell_type": "code", "execution_count": 43, "id": "61195340", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([2, 2, 3], [3, 2, 1])" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v = ([1, 2, 3], [3, 2, 1])\n", "# v[0] = 2\n", "v[0][0] = 2\n", "v" ] }, { "cell_type": "code", "execution_count": 51, "id": "20904608", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'tuple'>\n" ] } ], "source": [ "empty = ()\n", "print(type(empty))" ] }, { "cell_type": "code", "execution_count": 56, "id": "28463b83", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'tuple'>\n", "('hello',)\n" ] } ], "source": [ "singleton = 'hello',\n", "print(type(singleton))\n", "print(singleton)" ] }, { "cell_type": "code", "execution_count": 59, "id": "c6572f9d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 2 3\n" ] } ], "source": [ "t = 1,2,3 # 튜플 패킹\n", "x, y, z = t # 튜플 언패킹\n", "print(x,y,z)" ] }, { "cell_type": "code", "execution_count": 60, "id": "2e3b184e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 2 3\n" ] } ], "source": [ "x, y, z = 1,2,3\n", "print(x,y,z)" ] }, { "cell_type": "code", "execution_count": 61, "id": "bca38d89", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 1 1 2 3 5 8 " ] } ], "source": [ "a = 0\n", "b = 1\n", "while a < 10:\n", " print(a, end=' ')\n", " c = a+b\n", " a = b\n", " b = c" ] }, { "cell_type": "code", "execution_count": 62, "id": "a8b1c6d1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 1 1 2 3 5 8 " ] } ], "source": [ "a = 0\n", "b = 1\n", "while a < 10:\n", " print(a, end=' ')\n", " a, b = b, a+b" ] }, { "cell_type": "code", "execution_count": 63, "id": "032a9e5f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4 3\n" ] } ], "source": [ "a = 3\n", "b = 4\n", "\n", "t = a\n", "a = b\n", "b = t\n", "print(a, b)" ] }, { "cell_type": "code", "execution_count": 64, "id": "9f1f1e19", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4 3\n" ] } ], "source": [ "a = 3\n", "b = 4\n", "\n", "b,a = a,b\n", "print(a, b)" ] }, { "cell_type": "code", "execution_count": 67, "id": "52ab59f7", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'str'>\n", "50\n", "<class 'str'>\n", "51\n" ] } ], "source": [ "import sys\n", "\n", "print(type(\"a\"))\n", "print(sys.getsizeof(\"a\"))\n", "\n", "print(type(\"ab\"))\n", "print(sys.getsizeof(\"ab\"))" ] }, { "cell_type": "markdown", "id": "575768f9", "metadata": {}, "source": [ "### 문자열 함수" ] }, { "cell_type": "code", "execution_count": 88, "id": "31de1edb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hello hello world\n", "17\n", "HELLO HELLO WORLD\n", "hello hello world\n", "Hello hello world\n", "Hello Hello World\n", "1\n", "0\n", "6\n", "False\n", "True\n" ] } ], "source": [ "a = \"hello hello world\"\n", "print(a)\n", "print(len(a))\n", "print(a.upper())\n", "print(a.lower())\n", "print(a.capitalize())\n", "print(a.title())\n", "print(a.count('wor'))\n", "print(a.find(\"hel\"))\n", "print(a.rfind('hel'))\n", "print(a.startswith('world'))\n", "print(a.endswith('world'))" ] }, { "cell_type": "code", "execution_count": 92, "id": "1ddf29e3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[hello]\n", "[ hello]\n", "[hello ]\n" ] } ], "source": [ "a = \" hello \"\n", "print(\"[\"+a.strip()+\"]\")\n", "print(\"[\"+a.rstrip()+\"]\")\n", "print(\"[\"+a.lstrip()+\"]\")" ] }, { "cell_type": "code", "execution_count": 94, "id": "a3b70e80", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "12 23 34\n", "['12', '23', '34']\n" ] } ], "source": [ "a = input().split()\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 95, "id": "f36ea326", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['hello', 'world', 'how', 'are', 'you']\n" ] } ], "source": [ "a = \"hello world how are you\"\n", "b = a.split()\n", "print(b)" ] }, { "cell_type": "code", "execution_count": 97, "id": "b2a701f0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['010', '1234', '5678']\n" ] } ], "source": [ "hp = \"010-1234-5678\"\n", "b = hp.split(\"-\")\n", "print(b)" ] }, { "cell_type": "code", "execution_count": 99, "id": "1e9892ec", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['192', '168', '56', '1']\n" ] } ], "source": [ "ip = \"192.168.56.1\"\n", "b = ip.split(\".\")\n", "print(b)" ] }, { "cell_type": "code", "execution_count": 102, "id": "7bdff597", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "숫자 : 1234\n" ] } ], "source": [ "a = \"1234\"\n", "if a.isdigit():\n", " print(\"숫자 : %d\"%(int(a)))\n", "else :\n", " print(\"숫자 아님\")" ] }, { "cell_type": "markdown", "id": "6f4759b2", "metadata": {}, "source": [ "### 문자열 역 슬레쉬 " ] }, { "cell_type": "code", "execution_count": 105, "id": "f925d8e7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\"Isn't,\" they said.\n" ] } ], "source": [ "print('\"Isn\\'t,\" they said.')" ] }, { "cell_type": "code", "execution_count": 110, "id": "d3ca9a63", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "First line.\n", "Second line.\n" ] } ], "source": [ "s = 'First line.\\nSecond line.' \n", "print(s)" ] }, { "cell_type": "code", "execution_count": 112, "id": "48fd14fd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C:\\some\\name\n" ] } ], "source": [ "print('C:\\some\\\\name')" ] }, { "cell_type": "code", "execution_count": 113, "id": "43df6f60", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "C:\\some\\name\n" ] } ], "source": [ "print(r'C:\\some\\name')" ] }, { "cell_type": "code", "execution_count": 116, "id": "cd1b2cf3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Usage: thingy [OPTIONS]\n", " -h Display this usage message\n", " -H hostname Hostname to connect to\n", "\n" ] } ], "source": [ "print('''\n", "Usage: thingy [OPTIONS]\n", " -h Display this usage message\n", " -H hostname Hostname to connect to\n", "''')\n" ] }, { "cell_type": "code", "execution_count": 117, "id": "b5c1b022", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "python\n" ] } ], "source": [ "a = 'py'+'thon'\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 118, "id": "3b494ca7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "python\n" ] } ], "source": [ "a = 'py' 'thon'\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 119, "id": "e098907b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Put several strings within parentheses to have them joined together.'" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "text = ('Put several strings within parentheses '\n", " 'to have them joined together.')\n", "text" ] }, { "cell_type": "code", "execution_count": 121, "id": "821c38a9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'Python'" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prefix = 'Py'\n", "prefix+'thon'" ] }, { "cell_type": "code", "execution_count": 124, "id": "7123d70e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'unununium'" ] }, "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ "('un' * 3)+'ium'" ] }, { "cell_type": "markdown", "id": "41a02311", "metadata": {}, "source": [ "### 딕셔너리 출력" ] }, { "cell_type": "code", "execution_count": 125, "id": "b3db1265", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a b c d " ] } ], "source": [ "x = {'a': 10, 'b':20, 'c':30, 'd':40}\n", "for i in x:\n", " print(i, end=' ')" ] }, { "cell_type": "code", "execution_count": 126, "id": "dfb6963d", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a 10\n", "b 20\n", "c 30\n", "d 40\n" ] } ], "source": [ "x = {'a': 10, 'b':20, 'c':30, 'd':40}\n", "for key, value in x.items():\n", " print(key, value)" ] }, { "cell_type": "code", "execution_count": 127, "id": "fedf1557", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a\n", "b\n", "c\n", "d\n" ] } ], "source": [ "x = {'a': 10, 'b':20, 'c':30, 'd':40}\n", "for key in x.keys():\n", " print(key)" ] }, { "cell_type": "code", "execution_count": 128, "id": "9cf9c441", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10\n", "20\n", "30\n", "40\n" ] } ], "source": [ "x = {'a': 10, 'b':20, 'c':30, 'd':40}\n", "for key in x.values():\n", " print(key)" ] }, { "cell_type": "code", "execution_count": 130, "id": "a9c3b1e6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 5\n", "2 6\n", "3 7\n", "4 8\n" ] } ], "source": [ "a = [1,2,3,4]\n", "b = [5,6,7,8]\n", "for i,j in zip(a,b):\n", " print(i,j)" ] }, { "cell_type": "code", "execution_count": 132, "id": "afe7363d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 1\n", "1 2\n", "2 3\n", "3 4\n" ] } ], "source": [ "a = [1,2,3,4]\n", "for i,data in enumerate(a):\n", " print(i,data)" ] }, { "cell_type": "code", "execution_count": 133, "id": "37ce7a56", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'a': 10, 'b': 20, 'c': 30, 'd': 40}" ] }, "execution_count": 133, "metadata": {}, "output_type": "execute_result" } ], "source": [ "keys = ['a', 'b', 'c', 'd']\n", "values = [10, 20, 30 ,40]\n", "x = {key: value for key, value in zip(keys,values)}\n", "x" ] }, { "cell_type": "code", "execution_count": 134, "id": "85c49ef1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'a': 10, 'b': 20, 'c': 30, 'd': 40}" ] }, "execution_count": 134, "metadata": {}, "output_type": "execute_result" } ], "source": [ "keys = ['a', 'b', 'c', 'd']\n", "values = [10, 20, 30 ,40]\n", "x = {}\n", "for key, value in zip(keys,values):\n", " x[key] = value\n", "x" ] }, { "cell_type": "code", "execution_count": 136, "id": "903d51e6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{10: 'a', 20: 'b', 30: 'c', 40: 'd'}" ] }, "execution_count": 136, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y = {value: key for key, value in x.items()}\n", "y" ] }, { "cell_type": "code", "execution_count": 137, "id": "b8206ef7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['b', 'c', 'd', 'd', 'a']" ] }, "execution_count": 137, "metadata": {}, "output_type": "execute_result" } ], "source": [ "encode = [20, 30, 40, 40, 10]\n", "z = [y[i] for i in encode]\n", "z" ] }, { "cell_type": "code", "execution_count": 138, "id": "472c564c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'a': 10, 'c': 30, 'd': 40}" ] }, "execution_count": 138, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = {'a': 10, 'b': 20, 'c': 30, 'd': 40}\n", "x = {key: value for key, value in x.items() if value !=20 }\n", "x" ] }, { "cell_type": "markdown", "id": "868624b6", "metadata": {}, "source": [ "### 중첩된 딕셔너리" ] }, { "cell_type": "code", "execution_count": 141, "id": "551d10e8", "metadata": {}, "outputs": [], "source": [ "planet = {\n", " 'Earth' : {\n", " 'mean_radius' : 6371.0,\n", " 'orbital_perioid' : 365.2422\n", " },\n", " 'Mars' : {\n", " 'mean_radius' : 3389.5,\n", " 'orbital_perioid' : 686.9600\n", " }\n", "}" ] }, { "cell_type": "code", "execution_count": 142, "id": "039ea151", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'Earth': {'mean_radius': 6371.0, 'orbital_perioid': 365.2422}, 'Mars': {'mean_radius': 3389.5, 'orbital_perioid': 686.96}}\n" ] } ], "source": [ "print(planet)" ] }, { "cell_type": "code", "execution_count": 143, "id": "0732a808", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'mean_radius': 6371.0, 'orbital_perioid': 365.2422}\n" ] } ], "source": [ "print(planet['Earth'])" ] }, { "cell_type": "code", "execution_count": 144, "id": "ac80d6ae", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6371.0\n" ] } ], "source": [ "print(planet['Earth']['mean_radius'])" ] }, { "cell_type": "code", "execution_count": 145, "id": "44e7099b", "metadata": {}, "outputs": [], "source": [ "planet['Earth']['orbital_perioid'] = 365.25641" ] }, { "cell_type": "code", "execution_count": 146, "id": "aafc30c7", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'mean_radius': 3389.5, 'orbital_perioid': 686.96}\n" ] } ], "source": [ "print(planet['Mars'])" ] }, { "cell_type": "code", "execution_count": 149, "id": "bb2db575", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0x168fc656980\n", "0x168fc656980\n" ] } ], "source": [ "x = {'a': 0, 'b': 0, 'c': 0, 'd': 0}\n", "y = x\n", "x is y\n", "print(hex(id(x)))\n", "print(hex(id(y)))" ] }, { "cell_type": "code", "execution_count": 157, "id": "7395104a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0x168fc63c700\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0x168fc63c700\n", "0x7ffeea213370\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0x7ffeea212710\n" ] } ], "source": [ "x = {'a': 0, 'b': 0, 'c': 0, 'd': 0}\n", "print(hex(id(x)))\n", "print(hex(id(x['a'])))\n", "print(hex(id(x['b'])))\n", "print(hex(id(x['c'])))\n", "print(hex(id(x['d'])))\n", "y = x\n", "y['a'] = 99\n", "print(hex(id(x)))\n", "print(hex(id(x['a'])))\n", "print(hex(id(x['b'])))\n", "print(hex(id(x['c'])))\n", "print(hex(id(x['d'])))" ] }, { "cell_type": "code", "execution_count": 159, "id": "43a56d57", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "99\n", "99\n" ] } ], "source": [ "print(x['a'])\n", "print(y['a'])" ] }, { "cell_type": "code", "execution_count": 163, "id": "022146a0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0x168fc664f00\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0x168fc1a1900\n", "0x7ffeea213370\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0x7ffeea212710\n", "0\n", "99\n" ] } ], "source": [ "x = {'a': 0, 'b': 0, 'c': 0, 'd': 0}\n", "print(hex(id(x)))\n", "print(hex(id(x['a'])))\n", "print(hex(id(x['b'])))\n", "print(hex(id(x['c'])))\n", "print(hex(id(x['d'])))\n", "y = x.copy()\n", "y['a'] = 99\n", "print(hex(id(y)))\n", "print(hex(id(y['a'])))\n", "print(hex(id(y['b'])))\n", "print(hex(id(y['c'])))\n", "print(hex(id(y['d'])))\n", "print(x['a'])\n", "print(y['a'])" ] }, { "cell_type": "code", "execution_count": 164, "id": "782d631f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'a': {'python': '2.7.15'}, 'b': {'python': '3.8'}}\n", "{'a': {'python': '2.7.15'}, 'b': {'python': '3.8'}}\n" ] } ], "source": [ "x = {'a': {'python' : '2.7'}, 'b': {'python' : '3.8'}}\n", "y = x.copy()\n", "y['a']['python'] = '2.7.15'\n", "print(x)\n", "print(y)" ] }, { "cell_type": "code", "execution_count": 165, "id": "bc6b837d", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'a': {'python': '2.7'}, 'b': {'python': '3.8'}}\n", "{'a': {'python': '2.7.15'}, 'b': {'python': '3.8'}}\n" ] } ], "source": [ "import copy\n", "x = {'a': {'python' : '2.7'}, 'b': {'python' : '3.8'}}\n", "y = copy.deepcopy(x)\n", "y['a']['python'] = '2.7.15'\n", "print(x)\n", "print(y)" ] }, { "cell_type": "markdown", "id": "48746634", "metadata": {}, "source": [ "### 집합 자료형" ] }, { "cell_type": "code", "execution_count": 166, "id": "e093e1d2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 3}\n" ] } ], "source": [ "s =set([1,2,3,1,2,3])\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 171, "id": "e65624e3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 3}\n" ] } ], "source": [ "s.add(1)\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 172, "id": "47a4b772", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{2, 3}\n" ] } ], "source": [ "s.remove(1) # 전달받은 값을 삭제 (없을 때 에러 메시지를 출력)\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 173, "id": "d0fa6e11", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 3, 4, 5, 6, 7}\n" ] } ], "source": [ "s.update([1,4,5,6,7])\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 176, "id": "7c443d17", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 4, 5, 6, 7}\n" ] } ], "source": [ "s.discard(3) # 전달받은 값을 삭제 (없을 때 그냥 무시)\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 177, "id": "5592cd9b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "set()\n" ] } ], "source": [ "s.clear()\n", "print(s)" ] }, { "cell_type": "code", "execution_count": 179, "id": "058b2700", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 3, 4, 5, 6, 7}\n", "{1, 2, 3, 4, 5, 6, 7}\n" ] } ], "source": [ "s1 =set([1,2,3,4,5])\n", "s2 =set([3,4,5,6,7])\n", "print(s1.union(s2)) # 합집합\n", "print(s1 | s2)" ] }, { "cell_type": "code", "execution_count": 180, "id": "e96614be", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{3, 4, 5}\n", "{3, 4, 5}\n" ] } ], "source": [ "print(s1.intersection(s2))\n", "print(s1 & s2)" ] }, { "cell_type": "code", "execution_count": 181, "id": "51307638", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2}\n", "{1, 2}\n" ] } ], "source": [ "print(s1.difference(s2))\n", "print(s1 - s2)" ] }, { "cell_type": "code", "execution_count": 182, "id": "91d9cbd7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{6, 7}\n", "{6, 7}\n" ] } ], "source": [ "print(s2.difference(s1))\n", "print(s2 - s1)" ] }, { "cell_type": "code", "execution_count": 183, "id": "088eac75", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 6, 7}\n", "{1, 2, 6, 7}\n" ] } ], "source": [ "print(s1.symmetric_difference(s2))\n", "print(s1 ^ s2)" ] }, { "cell_type": "code", "execution_count": 184, "id": "523dac08", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'dict'>\n" ] } ], "source": [ "a = {}\n", "print(type(a))" ] }, { "cell_type": "code", "execution_count": 186, "id": "db7babdf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'set'>\n", "{'e', 'a', 'p', 'l'}\n" ] } ], "source": [ "a = {i for i in 'apple'}\n", "print(type(a))\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 187, "id": "394fd2bd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'set'>\n" ] } ], "source": [ "a = set()\n", "print(type(a))" ] }, { "cell_type": "code", "execution_count": 188, "id": "edfeae4f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'e', 'i', 'n'}" ] }, "execution_count": 188, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = {i for i in 'pineapple' if i not in 'apl'}\n", "a" ] }, { "cell_type": "code", "execution_count": 203, "id": "52519b7a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'and', 'goodbye', 'hello', 'i', 'say', 'you'}" ] }, "execution_count": 203, "metadata": {}, "output_type": "execute_result" } ], "source": [ "corpus = \"you say goodbye and i say hello .\" \n", "words = corpus.split()\n", "vocab = {x for x in words if x not in '.'}\n", "vocab" ] }, { "cell_type": "code", "execution_count": 204, "id": "196f2824", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 2 3 4 5 6 " ] } ], "source": [ "a = {4,3,5,2,6,1}\n", "for i in a:\n", " print(i, end=\" \")" ] }, { "cell_type": "markdown", "id": "a6274188", "metadata": {}, "source": [ "### 연습문제 1번" ] }, { "cell_type": "code", "execution_count": 207, "id": "ccf1d358", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['ALPHA', 'BRAVO', 'Charlie', 'DELTA', 'echo', 'foxtrot']\n" ] } ], "source": [ "a = ['alpha', 'bravo', 'Charlie', 'delta', 'echo', 'foxtrot']\n", "for i, data in enumerate(a):\n", " if len(data) == 5:\n", " a[i] = a[i].upper()\n", "print(a)" ] }, { "cell_type": "code", "execution_count": 210, "id": "18af93dc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['ALPHA', 'BRAVO', 'Charlie', 'DELTA', 'echo', 'foxtrot']\n" ] } ], "source": [ "a = ['alpha', 'bravo', 'Charlie', 'delta', 'echo', 'foxtrot']\n", "b = [ i.upper() if len(i)==5 else i for i in a ]\n", "print(b)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }