我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【Python】10、python内置数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【Python】10、python内置数



一、集合

1、集合的定义

In [74]: s = {}
In [74]: s = {}    # 空大括号是空的字典

In [75]: type(s)
Out[75]: dict

In [77]: type(s)
Out[77]: set

In [78]: help(set)

Help on class set in module builtins:

class set(object)
 |  set() -> new empty set object
 |  set(iterable) -> new set object
 |  
 |  Build an unordered collection of unique elements.
 |  
 |  Methods defined here:
 
 
In [80]: s = set([1, 2])

In [81]: s
Out[81]: {1, 2}

In [82]: s = set("xxj")

In [83]: s
Out[83]: {'j', 'x'}

In [84]: s = {1, 2, 1, 3}

In [85]: s
Out[85]: {1, 2, 3}

     集合是无序的,元素不能重复,元素要能被哈希(hash,不可变)


二、集合的操作

1、增

z## set.add()

In [86]: s
Out[86]: {1, 2, 3}

In [87]: s.add("a")   # 原地增加单个元素,元素要可哈希

In [88]: s
Out[88]: {1, 2, 3, 'a'}

In [89]: s.add(3)

In [90]: s
Out[90]: {1, 2, 3, 'a'}

In [93]: s.add([1, 2])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-93-2beaf0c16593> in <module>()
----> 1 s.add([1, 2])

TypeError: unhashable type: 'list'

In [94]: help(s.add)


In [95]: s.add((1, 2))

In [96]: s
Out[96]: {(1, 2), 1, 2, 3, 'a'}


## set.update()  # 原地增加可迭代对象的元素

In [99]: help(s.update)

Help on built-in function update:

update(...) method of builtins.set instance
    Update a set with the union of itself and others.

    
In [127]: s = set()

In [128]: s
Out[128]: set()

In [129]: type(s)
Out[129]: set  
    
In [101]: s.update(10)
-----------------------------------------------------------------------
TypeError                                 Traceback (most recent call l
<ipython-input-101-c184888ad9c5> in <module>()
----> 1 s.update(10)

TypeError: 'int' object is not iterable


In [131]: s.update(["a"])

In [132]: s
Out[132]: {'a'}

In [133]: s.update(["a"], ["b"])

In [134]: s
Out[134]: {'a', 'b'}

In [135]: s.update(["a"], ["b"], 1)
-----------------------------------------------------------------------
TypeError                             Traceback (most recent call last)
<ipython-input-135-fc556b8d9726> in <module>()
----> 1 s.update(["a"], ["b"], 1)

TypeError: 'int' object is not iterable

In [136]: s.update(["a"], ["b"], "xj")

In [137]: s
Out[137]: {'a', 'b', 'j', 'x'}

In [139]: s.update([["S", "B"]])
-----------------------------------------------------------------------
TypeError                             Traceback (most recent call last)
<ipython-input-139-da563f39a191> in <module>()
----> 1 s.update([["S", "B"]])

TypeError: unhashable type: 'list'


2、删

## set.remove()

In [142]: s
Out[142]: {'a', 'b', 'j', 'x'}

In [143]: s.remove("a")

In [144]: s
Out[144]: {'b', 'j', 'x'}

In [151]: s.remove("S")
-----------------------------------------------------------------------
KeyError                              Traceback (most recent call last)
<ipython-input-151-332efdd48daa> in <module>()
----> 1 s.remove("S")

KeyError: 'S'


## set.pop()

In [153]: s = {1, 2, 3, 4}

In [154]: s.pop()    
Out[154]: 1

In [155]: s
Out[155]: {2, 3, 4}

In [156]: s.pop(5)
-----------------------------------------------------------------------
TypeError                             Traceback (most recent call last)
<ipython-input-156-23a1c03efc29> in <module>()
----> 1 s.pop(5)

TypeError: pop() takes no arguments (1 given)

In [157]: s.pop()
Out[157]: 2

In [158]: s.pop()
Out[158]: 3

In [159]: s.pop()
Out[159]: 4

In [160]: s.pop()
-----------------------------------------------------------------------
KeyError                              Traceback (most recent call last)
<ipython-input-160-e76f41daca5e> in <module>()
----> 1 s.pop()

KeyError: 'pop from an empty set'


## set.discard()

In [165]: help(set.discard)

Help on method_descriptor:

discard(...)
    Remove an element from a set if it is a member.
    
    If the element is not a member, do nothing.
    
In [166]: s = {1, 2, 3}

In [167]: s.discard(2)

In [168]: s.discard(1, 3)
-----------------------------------------------------------------------
TypeError                             Traceback (most recent call last)
<ipython-input-168-8702b734cbc4> in <module>()
----> 1 s.discard(1, 3)

TypeError: discard() takes exactly one argument (2 given)

In [169]: s.discard(2)   # 元素不存在时,不会报错

In [170]: s
Out[170]: {1, 3}

In [32]: s.clear()

In [33]: s
Out[33]: set()


In [47]: del(s)

In [48]: s
-----------------------------------------------------------------------
NameError                             Traceback (most recent call last)
<ipython-input-48-f4d5d0c0671b> in <module>()
----> 1 s

NameError: name 's' is not defined


小结:

      remove 删除给定的元素,元素不存在时,抛出KeyError

      discard  删除给定的元素,元素不存在时,什么也不做

      pop      随机删除一个元素并返回,集合为空返回KeyError,

      clear     清空集合


3、改

   set不能修改单个元素


4、查找

    集合不能通过索引,集合不是线性结构,没有索引

    集合没有访问单个元素的方法

    集合没有查找的方法


   做成员运算(in和not in)的时候,set的效率远高于list(O(1)和O(n));

   O(n)不一定小于O(1),还需要看数据规模


三、集合运算

1、交集

## set.intersection()

In [1]: s1 = {1, 2, 3}

In [2]: s2 = {2, 3, 4}

In [3]: s1.intersection()
Out[3]: {1, 2, 3}

In [4]: s1.intersection(s2)   # 返回交集;不会修改原set
Out[4]: {2, 3}

In [26]: s2.intersection(s1)
Out[26]: {2, 3}


In [5]: s1.intersection([2,3])
Out[5]: {2, 3}

In [6]: help(set.intersection)


In [7]: s1.intersection(2)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-94b820092aa3> in <module>()
----> 1 s1.intersection(2)

TypeError: 'int' object is not iterable


                                               
In [17]: s1.intersection_update(s2)   # set.intersection的_update版本,修改原set,返回None

In [18]: s1
Out[18]: {2, 3}

In [19]: s2
Out[19]: {2, 3, 4}



In [20]: s1 = {1, 2, 3}

In [21]: s2 = {2, 3, 4}

In [22]: s1 & s2         #  set重载了按位与运算为求交集运算
Out[22]: {2, 3}

In [23]: s1
Out[23]: {1, 2, 3}

In [24]: s2
Out[24]: {2, 3, 4}


2、差集

In [27]: s1
Out[27]: {1, 2, 3}

In [28]: s2
Out[28]: {2, 3, 4}

In [29]: s1.difference(s2)
Out[29]: {1}

In [30]: s2.difference(s1)
Out[30]: {4}

In [31]: s1
Out[31]: {1, 2, 3}

In [32]: s2
Out[32]: {2, 3, 4}

In [33]: s1.difference_update(s2)

In [34]: s1
Out[34]: {1}

In [35]: s2
Out[35]: {2, 3, 4}


In [38]: s1
Out[38]: {1, 2, 3}

In [39]: s2
Out[39]: {2, 3, 4}

In [40]: s1 - s2    # set重载了运算符- 执行差集计算,相当于s1.difference(s2)
Out[40]: {1}

In [41]: s2 - s1
Out[41]: {4}

In [42]: s1 + s2
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-42-1659087814e1> in <module>()
----> 1 s1 + s2

TypeError: unsupported operand type(s) for +: 'set' and 'set'


In [50]: s1.symmetric_difference(s2)   # 对称差集
Out[50]: {1, 4}

In [51]: s1.symmetric_difference_update(s2)

In [52]: s1
Out[52]: {1, 4}

In [53]: s2
Out[53]: {2, 3, 4}


In [55]: s1           # set重载了异或运算符,执行求对称差集运算
Out[55]: {1, 2, 3}

In [56]: s2
Out[56]: {2, 3, 4}

In [57]: s1 ^ s2
Out[57]: {1, 4}


3、并集

In [58]: s1
Out[58]: {1, 2, 3}

In [59]: s2
Out[59]: {2, 3, 4}

In [60]: s1.union(s2)    # 那set的union有update版本吗?其实update就是union的update版本
Out[60]: {1, 2, 3, 4}

In [61]: s1 | s2          # set重载了|运算符,执行求对称并集运算
Out[61]: {1, 2, 3, 4}


4、集合相关的判断

In [68]: s1 = {2, 3}

In [69]: s2 = {1, 2, 3, 4}

In [70]: s1.isdisjoint(s2)   # 是否没有交集
Out[70]: False

In [71]: s1.issubset(s2)     # 是否是子集
Out[71]: True

In [72]: s1.issuperset(s2)   # 是否是父超集
Out[72]: False

In [73]: s2.issuperset(s1)
Out[73]: True

In [74]: s1 = {"a", "b"}

In [75]: s1.isdisjoint(s2)  
Out[75]: True


四、集合的应用和限制

      set常用于去重和大规模数据时成员运算时较快

      str、bytes、bytearray对元素有要求,必须是8位的int;0-255

      集合的元素不能重复,必须可hash(可变的类型都不能hash)








免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【Python】10、python内置数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【Python】10、python内置数

一、集合1、集合的定义In [74]: s = {}In [74]: s = {}    # 空大括号是空的字典In [75]: type(s)Out[75]: dictIn [77]: type(s)Out[77]: setIn [78]
2023-01-31

【Python】06、python内置数

一、数据结构与获取帮助信息1、数据结构  通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其它的数据结构。  python的最基本数据结构是序列  序列中的每个元素被分配一个序号(即元
2023-01-31

【Python】07、python内置数

一、字符串1、定义和初始化In [4]: s = "hello python"In [4]: s = "hello python"In [5]: sOut[5]: 'hello python'In [6]: s = 'hello pytho
2023-01-31

【Python】11、python内置数

一、字典1、字典的初始化     字典是一种key-value结构,和set一样是无序的In [160]: d = {}In [161]: type(d)Out[161]: dictIn [166]: d = {'a':1, 'b':2}I
2023-01-31

python打印10以内的奇数和偶数

脚本内容#!/usr/bin/env python#-- coding: utf-8--for i in range(1,10):if i % 2 == 1:print('%d 是一个奇数.' %(i))else:print ('%d 是一
2023-01-31

python 内置函数

python内置了一系列的常用函数,以便于我们使用python。基本的数据操作基本都是一些数学运算(当然除了加减乘除)、逻辑操作、集合操作、基本IO操作,然后就是对于语言自身的反射操作,还有就是字符串操作。官方文档:https://docs
2023-01-30

python内置函数

什么是内置函数? 就是python给你提供的,拿来直接用的函数, 比如print 和 input等等. 截止到python版本3.6.2 python一共提供了68个内置函数. 他们就是python直接提供给我们的,有一些我们已经见过了.
2023-01-30

Python系列-python内置函数

本文转载自:http://www.javaxxz.com/thread-359303-1-1.htmlabs(x)返回数字的绝对值,参数可以是整数、也可以是浮点数。如果是复数,则返回它的大小all(iterable)对参数中的所有元素进行迭
2023-01-31

Python的内置函数

1.什么是内置函数?  就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. 截止到python版本3.6 python一共提供了68个内置函数. 他们就是python直接提供给我们的Makedown地址:
2023-01-31

Python之内置函数

'''内置函数 :    作用域相关(2) :        locals : 返回当前局部作用域内的所有内容        globals : 返回全局作用域内的所有内容    基础数据类型相关(38) :        和数字相关 : 
2023-01-31

python内置函数1

1.r=compile(s,"","exec")  compile()将字符串编译成python代码2.exec(r)  执行python代码3.eval("8*6") eval("")里面只能执行表达式,执行eval()会
2023-01-31

python 10

os.path.  split(): 返回dirname() basename() 组成元组。  splitext(): 返回(filename,extension) 元组。   信息:   getatime   getctime   ge
2023-01-31

python内置函数3-delattr(

Help on built-in function delattr in module __builtin__:delattr(...)    delattr(object, name)        Delete a named attr
2023-01-31

python内置函数3-complex(

Help on class complex in module __builtin__:class complex(object) |  complex(real[, imag]) -> complex number |   |  Crea
2023-01-31

python内置函数3-dir()

Help on built-in function dir in module __builtin__:dir(...)    dir([object]) -> list of strings        If called withou
2023-01-31

python内置函数2-bytearra

Help on class bytearray in module __builtin__:class bytearray(object) |  bytearray(iterable_of_ints) -> bytearray. |  by
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录