{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on class set in module builtins:\n", "\n", "class set(object)\n", " | set() -> new empty set object\n", " | set(iterable) -> new set object\n", " | \n", " | Build an unordered collection of unique elements.\n", " | \n", " | Methods defined here:\n", " | \n", " | __and__(self, value, /)\n", " | Return self&value.\n", " | \n", " | __contains__(...)\n", " | x.__contains__(y) <==> y in x.\n", " | \n", " | __eq__(self, value, /)\n", " | Return self==value.\n", " | \n", " | __ge__(self, value, /)\n", " | Return self>=value.\n", " | \n", " | __getattribute__(self, name, /)\n", " | Return getattr(self, name).\n", " | \n", " | __gt__(self, value, /)\n", " | Return self>value.\n", " | \n", " | __iand__(self, value, /)\n", " | Return self&=value.\n", " | \n", " | __init__(self, /, *args, **kwargs)\n", " | Initialize self. See help(type(self)) for accurate signature.\n", " | \n", " | __ior__(self, value, /)\n", " | Return self|=value.\n", " | \n", " | __isub__(self, value, /)\n", " | Return self-=value.\n", " | \n", " | __iter__(self, /)\n", " | Implement iter(self).\n", " | \n", " | __ixor__(self, value, /)\n", " | Return self^=value.\n", " | \n", " | __le__(self, value, /)\n", " | Return self<=value.\n", " | \n", " | __len__(self, /)\n", " | Return len(self).\n", " | \n", " | __lt__(self, value, /)\n", " | Return self size of S in memory, in bytes\n", " | \n", " | __sub__(self, value, /)\n", " | Return self-value.\n", " | \n", " | __xor__(self, value, /)\n", " | Return self^value.\n", " | \n", " | add(...)\n", " | Add an element to a set.\n", " | \n", " | This has no effect if the element is already present.\n", " | \n", " | clear(...)\n", " | Remove all elements from this set.\n", " | \n", " | copy(...)\n", " | Return a shallow copy of a set.\n", " | \n", " | difference(...)\n", " | Return the difference of two or more sets as a new set.\n", " | \n", " | (i.e. all elements that are in this set but not the others.)\n", " | \n", " | difference_update(...)\n", " | Remove all elements of another set from this set.\n", " | \n", " | discard(...)\n", " | Remove an element from a set if it is a member.\n", " | \n", " | If the element is not a member, do nothing.\n", " | \n", " | intersection(...)\n", " | Return the intersection of two sets as a new set.\n", " | \n", " | (i.e. all elements that are in both sets.)\n", " | \n", " | intersection_update(...)\n", " | Update a set with the intersection of itself and another.\n", " | \n", " | isdisjoint(...)\n", " | Return True if two sets have a null intersection.\n", " | \n", " | issubset(...)\n", " | Report whether another set contains this set.\n", " | \n", " | issuperset(...)\n", " | Report whether this set contains another set.\n", " | \n", " | pop(...)\n", " | Remove and return an arbitrary set element.\n", " | Raises KeyError if the set is empty.\n", " | \n", " | remove(...)\n", " | Remove an element from a set; it must be a member.\n", " | \n", " | If the element is not a member, raise a KeyError.\n", " | \n", " | symmetric_difference(...)\n", " | Return the symmetric difference of two sets as a new set.\n", " | \n", " | (i.e. all elements that are in exactly one of the sets.)\n", " | \n", " | symmetric_difference_update(...)\n", " | Update a set with the symmetric difference of itself and another.\n", " | \n", " | union(...)\n", " | Return the union of sets as a new set.\n", " | \n", " | (i.e. all elements that are in either set.)\n", " | \n", " | update(...)\n", " | Update a set with the union of itself and others.\n", " | \n", " | ----------------------------------------------------------------------\n", " | Data and other attributes defined here:\n", " | \n", " | __hash__ = None\n", "\n" ] } ], "source": [ "help(set)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#set(iterable) -> new set object #列表就比较合适了\n", "my_set=set([1,2,1,\"mmd\"])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{1, 2, 'mmd'}" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_set #重复元素在自动被过滤" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "################ Set遍历 ########################" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "2\n", "mmd\n" ] } ], "source": [ "# 遍历 my_set\n", "for item in my_set:\n", " print(item)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "################ 添加元素 ########################" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'add', 'mmd'}\n" ] } ], "source": [ "# 添加元素\n", "my_set.add(\"add\") #没有返回值\n", "print(my_set)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "################ 删除元素 ########################" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{1, 2, 'add'}\n" ] } ], "source": [ "# 删除元素\n", "my_set.remove(\"mmd\") #没有返回值\n", "print(my_set)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{1, 2, 'add'}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "my_set" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "'mmd'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmy_set\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mremove\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"mmd\"\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m#不存在则报错\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mKeyError\u001b[0m: 'mmd'" ] } ], "source": [ "my_set.remove(\"mmd\") #不存在则报错" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "################ Set扩展 ########################" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "#利用运算符+set 实现数学方面的扩展\n", "set1=set([1,2,5])\n", "set2=set([2,4,6])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{2}" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#交集\n", "set1 & set2" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{1, 2, 4, 5, 6}" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#并集\n", "set1 | set2" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# 其他内容可以直接查看help" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }