{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true, "pycharm": { "name": "#%% md\n" } }, "source": [ "# 列表" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "## 创建列表" ] }, { "cell_type": "code", "execution_count": 172, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# literal\n", "numbers = [1, 2, 3, 4, 5]" ] }, { "cell_type": "code", "execution_count": 173, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "list" ] }, "execution_count": 173, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(numbers)" ] }, { "cell_type": "code", "execution_count": 174, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 3, 4, 5]\n" ] } ], "source": [ "print(numbers)" ] }, { "cell_type": "code", "execution_count": 175, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# key word\n", "alphabet = list(\"abcde\")" ] }, { "cell_type": "code", "execution_count": 176, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "list" ] }, "execution_count": 176, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(alphabet) # list" ] }, { "cell_type": "code", "execution_count": 177, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['a', 'b', 'c', 'd', 'e']\n" ] } ], "source": [ "print(alphabet)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "## 索引与切片" ] }, { "cell_type": "code", "execution_count": 178, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n" ] } ], "source": [ "idx = alphabet.index(\"c\")\n", "print(idx)" ] }, { "cell_type": "code", "execution_count": 179, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "'c'" ] }, "execution_count": 179, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alphabet[idx]" ] }, { "cell_type": "code", "execution_count": 180, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "[2, 3, 4]" ] }, "execution_count": 180, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numbers[1:4]" ] }, { "cell_type": "code", "execution_count": 181, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "[5]" ] }, "execution_count": 181, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numbers[-1:]" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "## 常用的列表方法" ] }, { "cell_type": "code", "execution_count": 182, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# append\n", "others = [7, 8, 9]\n", "numbers.append(others)" ] }, { "cell_type": "code", "execution_count": 183, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 2, 3, 4, 5, [7, 8, 9]]\n" ] } ], "source": [ "print(numbers)" ] }, { "cell_type": "code", "execution_count": 184, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# extend\n", "others = list(\"fghjk\")\n", "alphabet.extend(others)" ] }, { "cell_type": "code", "execution_count": 185, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k']\n" ] } ], "source": [ "print(alphabet)" ] }, { "cell_type": "code", "execution_count": 186, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# remove\n", "alphabet.remove(\"e\")" ] }, { "cell_type": "code", "execution_count": 187, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['a', 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k']\n" ] } ], "source": [ "print(alphabet)" ] }, { "cell_type": "code", "execution_count": 188, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n" ] } ], "source": [ "# pop\n", "popped = numbers.pop(1)\n", "print(popped)" ] }, { "cell_type": "code", "execution_count": 189, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 3, 4, 5, [7, 8, 9]]\n" ] } ], "source": [ "print(numbers)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "# 元组" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "## 创建元组" ] }, { "cell_type": "code", "execution_count": 190, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# literal\n", "auth = (\"MY_ACCOUNT\", \"MY_PASSWORD\")" ] }, { "cell_type": "code", "execution_count": 191, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "tuple" ] }, "execution_count": 191, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(auth)" ] }, { "cell_type": "code", "execution_count": 192, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('MY_ACCOUNT', 'MY_PASSWORD')\n" ] } ], "source": [ "print(auth)" ] }, { "cell_type": "code", "execution_count": 193, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# key word\n", "database = tuple([\"DB_HOST\", \"DB_PORT\"])" ] }, { "cell_type": "code", "execution_count": 194, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "tuple" ] }, "execution_count": 194, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(database)" ] }, { "cell_type": "code", "execution_count": 195, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('DB_HOST', 'DB_PORT')\n" ] } ], "source": [ "print(database)" ] }, { "cell_type": "code", "execution_count": 196, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [ "# avoid this !!\n", "greet = \"Hello, 100gle\"," ] }, { "cell_type": "code", "execution_count": 197, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "tuple" ] }, "execution_count": 197, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(greet)" ] }, { "cell_type": "code", "execution_count": 198, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "('Hello, 100gle',)\n" ] } ], "source": [ "print(greet)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "# 字典" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "## 创建字典" ] }, { "cell_type": "code", "execution_count": 199, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "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)" ] }, { "cell_type": "code", "execution_count": 200, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "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", ")" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "## 索引与键值迭代" ] }, { "cell_type": "code", "execution_count": 201, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "'100gle'" ] }, "execution_count": 201, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info[\"name\"]" ] }, { "cell_type": "code", "execution_count": 202, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "[1000, 10000, 100000]" ] }, "execution_count": 202, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info.get(\"account_stats\") # [1000, 10000, 100000]" ] }, { "cell_type": "code", "execution_count": 203, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "None\n" ] } ], "source": [ "ret = info.get(\"address\") # None\n", "print(ret)" ] }, { "cell_type": "code", "execution_count": 204, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "'Not Found'" ] }, "execution_count": 204, "metadata": {}, "output_type": "execute_result" } ], "source": [ "info.get(\"address\", \"Not Found\") # return \"Not Found\"" ] }, { "cell_type": "code", "execution_count": 205, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['name', 'personal_info', 'greet', 'account_stats'])\n" ] } ], "source": [ "keys = info.keys()\n", "print(keys)" ] }, { "cell_type": "code", "execution_count": 206, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "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)" ] }, { "cell_type": "code", "execution_count": 207, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "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}\")" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "# 集合" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "## 创建集合" ] }, { "cell_type": "code", "execution_count": 208, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "dict" ] }, "execution_count": 208, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# dict default literal\n", "d = {}\n", "type(d)" ] }, { "cell_type": "code", "execution_count": 209, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "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)" ] }, { "cell_type": "code", "execution_count": 210, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "set" ] }, "execution_count": 210, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# set literal\n", "s = {1, 2}\n", "type(s)" ] }, { "cell_type": "code", "execution_count": 211, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "set()\n" ] } ], "source": [ "# key word\n", "s = set()\n", "type(s)\n", "print(s)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false, "pycharm": { "name": "#%% md\n" } }, "source": [ "## 交集、并集和差集" ] }, { "cell_type": "code", "execution_count": 212, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "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}" ] }, { "cell_type": "code", "execution_count": 213, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 213, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# union\n", "odds.union(evens) == numbers" ] }, { "cell_type": "code", "execution_count": 214, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "{1, 3, 5, 7, 9}" ] }, "execution_count": 214, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# intersection\n", "numbers.intersection(odds)" ] }, { "cell_type": "code", "execution_count": 215, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [ { "data": { "text/plain": [ "{2, 4, 6, 8, 10}" ] }, "execution_count": 215, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# difference\n", "numbers.difference(odds)" ] }, { "cell_type": "code", "execution_count": 215, "metadata": { "collapsed": false, "pycharm": { "name": "#%%\n" } }, "outputs": [], "source": [] } ], "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 }