{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true, "pycharm": { "name": "#%% md\n" } }, "source": [ "# 列表" ] }, { "cell_type": "markdown", "source": [ "## 创建列表" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "code", "execution_count": 172, "outputs": [], "source": [ "# literal\n", "numbers = [1, 2, 3, 4, 5]" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 173, "outputs": [ { "data": { "text/plain": "list" }, "execution_count": 173, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(numbers)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 174, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 3, 4, 5]\n" ] } ], "source": [ "print(numbers)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 175, "outputs": [], "source": [ "# key word\n", "alphabet = list(\"abcde\")" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 176, "outputs": [ { "data": { "text/plain": "list" }, "execution_count": 176, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(numbers) # list" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 177, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['a', 'b', 'c', 'd', 'e']\n" ] } ], "source": [ "print(alphabet)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "markdown", "source": [ "## 索引与切片" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "code", "execution_count": 178, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n" ] } ], "source": [ "idx = alphabet.index(\"c\")\n", "print(idx)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 179, "outputs": [ { "data": { "text/plain": "'c'" }, "execution_count": 179, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alphabet[idx]" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 180, "outputs": [ { "data": { "text/plain": "[2, 3, 4]" }, "execution_count": 180, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numbers[1:4]" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 181, "outputs": [ { "data": { "text/plain": "[5]" }, "execution_count": 181, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numbers[-1:]" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "markdown", "source": [ "## 常用的列表方法" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "code", "execution_count": 182, "outputs": [], "source": [ "# append\n", "others = [7, 8, 9]\n", "numbers.append(others)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 183, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 3, 4, 5, [7, 8, 9]]\n" ] } ], "source": [ "print(numbers)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 184, "outputs": [], "source": [ "# extend\n", "others = list(\"fghjk\")\n", "alphabet.extend(others)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 185, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k']\n" ] } ], "source": [ "print(alphabet)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 186, "outputs": [], "source": [ "# remove\n", "alphabet.remove(\"e\")" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 187, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['a', 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k']\n" ] } ], "source": [ "print(alphabet)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 188, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n" ] } ], "source": [ "# pop\n", "popped = numbers.pop(1)\n", "print(popped)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 189, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 3, 4, 5, [7, 8, 9]]\n" ] } ], "source": [ "print(numbers)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "markdown", "source": [ "# 元组" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "markdown", "source": [ "## 创建元组" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "code", "execution_count": 190, "outputs": [], "source": [ "# literal\n", "auth = (\"MY_ACCOUNT\", \"MY_PASSWORD\")" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 191, "outputs": [ { "data": { "text/plain": "tuple" }, "execution_count": 191, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(auth)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 192, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('MY_ACCOUNT', 'MY_PASSWORD')\n" ] } ], "source": [ "print(auth)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 193, "outputs": [], "source": [ "# key word\n", "database = tuple([\"DB_HOST\", \"DB_PORT\"])" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 194, "outputs": [ { "data": { "text/plain": "tuple" }, "execution_count": 194, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(database)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 195, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('DB_HOST', 'DB_PORT')\n" ] } ], "source": [ "print(database)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 196, "outputs": [], "source": [ "# avoid this !!\n", "greet = \"Hello, 100gle\"," ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 197, "outputs": [ { "data": { "text/plain": "tuple" }, "execution_count": 197, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(greet)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 198, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('Hello, 100gle',)\n" ] } ], "source": [ "print(greet)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "markdown", "source": [ "# 字典" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "markdown", "source": [ "## 创建字典" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "code", "execution_count": 199, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{ 'account_stats': [1000, 10000, 100000],\n", " 'greet': 'Hello, sspai!',\n", " 'name': '100gle',\n", " 'personal_info': {'gender': 'male', 'slogan': '自律即自由'}}\n" ] } ], "source": [ "# literal\n", "info = {\n", " \"name\": \"100gle\",\n", " \"personal_info\": {\"slogan\": \"自律即自由\", \"gender\": \"male\"},\n", " \"greet\": \"Hello, world!\",\n", " \"greet\": \"Hello, sspai!\",\n", " \"account_stats\": [1000, 10000, 100000],\n", "}\n", "from pprint import pprint\n", "\n", "pprint(info, indent=2)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 200, "outputs": [], "source": [ "# keyword\n", "info = dict(\n", " name=\"100gle\",\n", " personal_info=dict(slogan=\"自律即自由\", gender=\"male\"),\n", " greet=\"Hello, sspai!\",\n", " account_stats=[1000, 10000, 100000],\n", ")" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "markdown", "source": [ "## 索引与键值迭代" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "code", "execution_count": 201, "outputs": [ { "data": { "text/plain": "'100gle'" }, "execution_count": 201, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info[\"name\"]" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 202, "outputs": [ { "data": { "text/plain": "[1000, 10000, 100000]" }, "execution_count": 202, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info.get(\"account_stats\") # [1000, 10000, 100000]" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 203, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "None\n" ] } ], "source": [ "ret = info.get(\"address\") # None\n", "print(ret)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 204, "outputs": [ { "data": { "text/plain": "'Not Found'" }, "execution_count": 204, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info.get(\"address\", \"Not Found\") # return \"Not Found\"" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 205, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['name', 'personal_info', 'greet', 'account_stats'])\n" ] } ], "source": [ "keys = info.keys()\n", "print(keys)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 206, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_values(['100gle', {'slogan': '自律即自由', 'gender': 'male'}, 'Hello, sspai!', [1000, 10000, 100000]])\n" ] } ], "source": [ "values = info.values()\n", "print(values)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 207, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_items([('name', '100gle'), ('personal_info', {'slogan': '自律即自由', 'gender': 'male'}), ('greet', 'Hello, sspai!'), ('account_stats', [1000, 10000, 100000])])\n", "name: 100gle\n", "personal_info: {'slogan': '自律即自由', 'gender': 'male'}\n", "greet: Hello, sspai!\n", "account_stats: [1000, 10000, 100000]\n" ] } ], "source": [ "items = info.items()\n", "print(items)\n", "for k, v in items:\n", " print(f\"{k}: {v}\")" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "markdown", "source": [ "# 集合" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "markdown", "source": [ "## 创建集合" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "code", "execution_count": 208, "outputs": [ { "data": { "text/plain": "dict" }, "execution_count": 208, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# dict default literal\n", "d = {}\n", "type(d)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 209, "outputs": [ { "data": { "text/plain": "dict" }, "execution_count": 209, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# dict literal\n", "d2 = {1: 2, 3: 4}\n", "type(d2)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 210, "outputs": [ { "data": { "text/plain": "set" }, "execution_count": 210, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# set literal\n", "s = {1, 2}\n", "type(s)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 211, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "set()\n" ] } ], "source": [ "# key word\n", "s = set()\n", "type(s)\n", "print(s)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "markdown", "source": [ "## 交集、并集和差集" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } } }, { "cell_type": "code", "execution_count": 212, "outputs": [], "source": [ "numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}\n", "odds = {1, 3, 5, 7, 9}\n", "evens = {2, 4, 6, 8, 10}" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 213, "outputs": [ { "data": { "text/plain": "True" }, "execution_count": 213, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# union\n", "odds.union(evens) == numbers" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 214, "outputs": [ { "data": { "text/plain": "{1, 3, 5, 7, 9}" }, "execution_count": 214, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# intersection\n", "numbers.intersection(odds)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 215, "outputs": [ { "data": { "text/plain": "{2, 4, 6, 8, 10}" }, "execution_count": 215, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# difference\n", "numbers.difference(odds)" ], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } }, { "cell_type": "code", "execution_count": 215, "outputs": [], "source": [], "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } } } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }