• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python中的集合类型知识讲解

Python中的集合类型知识讲解

作者:goldensun 字体:[增加 减小] 来源:互联网

goldensun 通过本文主要向大家介绍了python基本数据类型,python查看数据类型,python 判断数据类型,python 强制类型转换,python是什么类型语言等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

集合类型
        数学上,,把set称做由不同的元素组成的集合,集合(set)的成员通常被称做集合元素(set elements)。Python把这个概念引入到它的集合类型对象里。集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。数学集合转为Python的集合对象很有效,集合关系测试和union、intersection等操作符在Python里也同样如我们所预想地那样工作。
        和其他容器类型一样,集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小), 用 for 循环迭代集合的成员。但是因为集合本身是无序的,不可以为集合创建索引或执行切片(slice)操作,也没有键(keys)可用来获取集合中元素的值。
        集合(sets)有两种不同的类型:可变集合(set)和不可变集合(frozenset)。对可变集合(set),可以添加和删除元素,对不可变集合(frozenset)则不允许这样做。注意:可变集合(set)不是可哈希的,因此既不能用做字典的键也不能做其他集合中的元素。不可变集合
(frozenset)则正好相反,即它们有哈希值,能被用做字典的键或是作为集合中的一个成员。
         集合操作符和关系符号: 

2015819105825249.png (445×366)

  集合类型的实际操作:

(1)如何创建集合类型和给集合赋值
        集合与列表( [ ] )和字典( { } ) 不同,没有特别的语法格式。列表和字典可以分别用他们自己的工厂方法 list() 和 dict() 创建,这也是集合被创建的唯一方法:用集合的工厂方法set()和frozenset()。

  >>> s = set('cheeseshop') 
  >>> s 
  set(['c', 'e', 'h', 'o', 'p', 's']) 
  >>> t = frozenset('bookshop') 
  >>> t 
  frozenset(['b', 'h', 'k', 'o', 'p', 's']) 
  >>> len(s), len(t) 
  (6, 6) 
  >>> s == t 
  False 

</div>

(2)如何访问集合中的值
       可以遍历查看集合成员或检查某项元素是否是一个集合中的成员。

  >>> 'k' in t 
  True 
  >>> for i in s: 
  ...   print i 
  ...  
  c 
  e 
  h 
  o 
  p 
  s 

</div>

(3)如何更新集合
         用各种集合内建的方法和操作符添加和删除集合的成员。只有可变集合能被修改,试图修改不可变集合会引发异常。
[html] view plaincopy在CODE上查看代码片派生到我的代码片

  >>> s.add('z') 
  >>> s 
  set(['c', 'e', 'h', 'o', 'p', 's', 'z']) 
  >>> s.update('pypi') 
  >>> s 
  set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z']) 
  >>> s.remove('z') 
  >>> s -= set('pypi') 
  >>> s 
  set(['c', 'e', 'h', 'o', 's']) 

</div>

(4)如何删除集合中的成员和集合
        删除集合成员remove()内建方法。删除集合本身,可以像删除任何Python对象一样,令集合超出它的作用范围或调用del将它们直接清除出当前的名字空间。如果它的引用计数为零,也会被标记以便被垃圾回收。如del s。

实例:
用集合的工厂方法 set()和 frozenset():

  >>> s = set('cheeseshop') 
  >>> s 
  set(['c', 'e', 'h', 'o', 'p', 's']) 
  >>> t = frozenset('bookshop') 
  >>> t 
  frozenset(['b', 'h', 'k', 'o', 'p', 's']) 
  >>> type(s) 
  <type 'set'> 
  >>> type(t) 
  <type 'frozenset'> 

</div>

如何更新集合用各种集合内建的方法和操作符添加和删除集合的成员:

  >>> s.add('z') 
  >>> s 
  set(['c', 'e', 'h', 'o', 'p', 's', 'z']) 
  >>> s.update('pypi') 
  >>> s 
  set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y', 'z']) 
  >>> s.remove('z') 
  >>> s 
  set(['c', 'e', 'i', 'h', 'o', 'p', 's', 'y']) 
  >>> s -= set('pypi') 
  >>> s 
  set(['c', 'e', 'h', 'o', 's']) 
</div>

 

删除集合

  del s 

</div>

成员关系 (in, not in)

  >>> s = set('cheeseshop') 
  >>> t = frozenset('bookshop') 
  >>> 'k' in s 
  False 
  >>> 'k' in t 
  True 
  >>> 'c' not in t 
  True 

</div>

集合等价/不等价

  >>> s == t 
  False 
  >>> s != t 
  True 
  >>> u = frozenset(s) 
  >>> s == u 
  True 
  >>> set('posh') == set('shop') 
  True 

</div>

差补/相对补集( – )两个集合(s 和t)的差补或相对补集是指一个集合C,该集合中的元素,只属于集合s,而不属
于集合t。差符号有一个等价的方法,

  difference(). 
  >>> s - t 
  set(['c', 'e']) 
   

</div>

对称差分( ^ ):对称差分是集合的XOR以上文章就是Python字典对集合类型的实际应用步骤。

</div>

您可能想查找下面的文章:

  • Python中类型检查的详细介绍
  • 简单讲解Python中的数字类型及基本的数学计算
  • 简单讲解Python中的数字类型及基本的数学计算
  • Python中常见的数据类型小结
  • Python中常见的数据类型小结
  • Python中的集合类型知识讲解
  • Python中列表的一些基本操作知识汇总
  • Python编程入门的一些基本知识
  • python集合类型用法分析
  • python集合类型用法分析

相关文章

  • python同义词替换的实现(jieba分词)
  • python返回昨天日期的方法
  • Python使用PDFMiner解析PDF代码实例
  • python数据结构树和二叉树简介
  • Python的subprocess模块总结
  • 基python实现多线程网页爬虫
  • Python学习之asyncore模块用法实例教程
  • 简单介绍Python的轻便web框架Bottle
  • python使用webbrowser浏览指定url的方法
  • tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python脚本判断 Linux 是否运行在虚拟机上
    • python实现的系统实用log类实例
    • 使用Python实现Wake On Lan远程开机功能
    • Python bsddb模块操作Berkeley DB数据库介绍
    • python实现实时监控文件的方法
    • 浅谈Python类的__getitem__和__setitem__特殊方法
    • Python实现的异步代理爬虫及代理池
    • python3中str(字符串)的使用教程
    • Python中数字以及算数运算符的相关使用
    • 分析并输出Python代码依赖的库的实现代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有