精华内容
下载资源
问答
  • python 集合元素添加

    2018-11-12 22:31:00
    #A new empty set color_set = set() color_set.add("Red") print(color_set) #Add multiple items color_set.update(["blue","blue", "Green"]) print(color_set) 转载于:https://www.cnb...

     

    #A new empty set  
    color_set = set()  
    color_set.add("Red")  
    print(color_set)  
    #Add multiple items  
    color_set.update(["blue","blue", "Green"])  
    print(color_set)

     

    转载于:https://www.cnblogs.com/sea-stream/p/9949599.html

    展开全文
  • 191125 python 集合元素的删除(删)

    千次阅读 2019-11-27 09:27:45
    pop() 方法用于随机删除并返回集合中的第一个元素,如果集合为空则抛异常。 >>> settest = {'a','b','c','d','e'} >>> settest.pop() 'd' >>> remove()方法删除集合中的元素,如果指定...

    pop() 方法用于随机删除并返回集合中的第一个元素,如果集合为空则抛异常。

    >>> settest = {'a','b','c','d','e'}
    >>> settest.pop()
    'd'
    >>> 
    

    remove()方法删除集合中的元素,如果指定的元素不存在则抛异常。

    >>> settest = {'a','b','c','d'}
    >>> settest.remove('a')
    >>> settest
    {'d', 'b', 'c'}
    >>> 
    
    展开全文
  • add()添加集合元素 add() 函数 可以增加新元素,如果元素已经存在则忽略; # 直接添加一元素到集合 >>> myset = {1,2} >>> myset.add(3) >>> myset {1, 2, 3} >>> # 集合...

    add()添加集合元素

    add() 函数 可以增加新元素,如果元素已经存在则忽略;

    # 直接添加一个元素到集合
    >>> myset = {1,2}
    >>> myset.add(3)
    >>> myset
    {1, 2, 3}
    >>> 
    
    # 集合里面已经存在则忽略
    >>> myset
    {1, 2, 3}
    >>> myset.add(1)
    >>> myset
    {1, 2, 3}
    >>> 
    
    

    update()添加集合元素

    update() 是合并另外一集合列表的元素,如果存在则忽略

    # 合并集合里面的元素
    >>> varset = {'a','b'}
    >>> myset
    {1, 2, 3}
    >>> myset.update(varset)
    >>> myset
    {1, 2, 3, 'b', 'a'}
    >>> 
    
    
    展开全文
  • Python 集合

    千次阅读 多人点赞 2017-05-23 19:09:31
    数学上有一基础概念 -集合,上高一的时候学过。集合的作用大吗?高考必考,你说呢? 关于集合,维基百科这样描述: > 集合是基本的数学概念,它是集合论的研究对象,指具有某种特定性质的事物的总体,(在最...

    简述

    数学上有一个基础概念 -集合,上高一的时候学过。集合的作用大吗?高考必考,你说呢?

    关于集合,维基百科这样描述:

    集合是基本的数学概念,它是集合论的研究对象,指具有某种特定性质的事物的总体,(在最原始的集合论─朴素集合论─中的定义,集合就是“一堆东西”。)集合里的事物(“东西”),叫作元素。若然 x 是集合 A 的元素,记作 x ∈ A。

    在 Python 中,集合分为两类:

    • set:可变集合
    • frozenset:不可变集合

    set 可以原地修改,或者说是可变的,也可以说是 unhashable(不可哈希)的。

    frozenset,顾名思义,是一个被“冻结”的集合,不能原地修改,是 hashable(可哈希)的。

    | 版权声明:一去、二三里,未经博主允许不得转载。

    集合

    在 Python 中,集合由内置的 set 类型定义。

    要创建集合,需要将所有项(元素)放在花括号({})内,以逗号(,)分隔。

    >>> s = {'P', 'y', 't', 'h', 'o', 'n'}
    >>> type(s)
    <class 'set'>

    集合可以有任意数量的元素,它们可以是不同的类型(例如:数字、元组、字符串等)。但是,集合不能有可变元素(例如:列表、集合或字典)。

    >>> s = {1, 2, 3}  # 整形的集合
    >>> 
    >>> s = {1.0, 'Python', (1, 2, 3)}  # 混合类型的集合
    >>> 
    >>> s = set(['P', 'y'])  # 从列表创建
    >>>
    >>> s = {1, 2, [3, 4]}  # 不能有可变元素
    ...
    TypeError: unhashable type: 'list'

    创建空集合比较特殊。在 Python 中,空花括号({})用于创建空字典。要创建一个没有任何元素的集合,使用 set() 函数(不要包含任何参数)。

    >>> d = {}  # 空字典
    >>> type(d)
    <class 'dict'>
    >>> 
    >>> s = set()  # 空集合
    >>> type(s)
    <class 'set'>

    集合的特性

    子曰:“温故而知新,可以为师矣。”
    –《论语》

    回顾数学相关知识,集合有以下特性:

    • 无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。
      集合上可以定义序关系,定义了序关系后,元素之间就可以按照序关系排序。但就集合本身的特性而言,元素之间没有必然的序。
    • 互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。
      有时需要对同一元素出现多次的情形进行刻画,可以使用多重集,其中的元素允许出现多次。
    • 确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。

    当然,Python 中的集合也具备这些特性:

    # 无序性
    >>> s = set('Python')
    >>> s
    {'y', 'n', 'h', 'o', 'P', 't'}
    >>>
    >>> s[0]  # 不支持索引
    ...
    TypeError: 'set' object does not support indexing
    
    # 互异性
    >>> s = set('Hello')
    >>> s
    {'e', 'H', 'l', 'o'}
    
    # 确定性
    >>> 'l' in s
    True
    >>> 
    >>> 'P' not in s
    True

    注意: 由于集合是无序的,所以索引没有任何意义。也就是说,无法使用索引或切片访问或更改集合元素。

    集合运算

    集合之间也可进行数学集合运算(例如:并集、交集等),可用相应的操作符或方法来实现。

    考虑 A、B 两个集合,进行以下操作。

    >>> A = set('abcd')
    >>> B = set('cdef')

    子集

    子集,为某个集合中一部分的集合,故亦称部分集合。

    使用操作符 < 执行子集操作,同样地,也可使用方法 issubset() 完成。

    >>> C = set('ab')
    >>> 
    >>> C < A
    True
    >>> 
    >>> C < B
    False
    >>> 
    >>> C.issubset(A)
    True

    并集

    一组集合的并集是这些集合的所有元素构成的集合,而不包含其他元素。

    使用操作符 | 执行并集操作,同样地,也可使用方法 union() 完成。

    >>> A | B
    {'e', 'f', 'd', 'c', 'b', 'a'}
    >>> 
    >>> A.union(B)
    {'e', 'f', 'd', 'c', 'b', 'a'}

    交集

    两个集合 A 和 B 的交集是含有所有既属于 A 又属于 B 的元素,而没有其他元素的集合。

    使用 & 操作符执行交集操作,同样地,也可使用方法 intersection() 完成。

    >>> A & B
    {'d', 'c'}
    >>> 
    >>> A.intersection(B)
    {'d', 'c'}

    差集

    A 与 B 的差集是所有属于 A 且不属于 B 的元素构成的集合

    使用操作符 - 执行差集操作,同样地,也可使用方法 difference() 完成。

    >>> A - B
    {'b', 'a'}
    >>> 
    >>> A.difference(B)
    {'b', 'a'}

    对称差

    两个集合的对称差是只属于其中一个集合,而不属于另一个集合的元素组成的集合。

    使用 ^ 操作符执行差集操作,同样地,也可使用方法 symmetric_difference() 完成。

    >>> A ^ B
    {'b', 'e', 'f', 'a'}
    >>> 
    >>> A.symmetric_difference(B)
    {'b', 'e', 'f', 'a'}

    更改集合

    虽然集合不能有可变元素,但是集合本身是可变的。也就是说,可以添加或删除其中的元素。

    可以使用 add() 方法添加单个元素,使用 update() 方法添加多个元素,update() 可以使用元组、列表、字符串或其他集合作为参数。

    >>> s = {'P', 'y'}
    >>> 
    >>> s.add('t')  # 添加一个元素
    >>> s
    {'P', 'y', 't'}
    >>> 
    >>> s.update(['h', 'o', 'n'])  # 添加多个元素
    >>> s
    {'y', 'o', 'n', 't', 'P', 'h'}
    >>> 
    >>> s.update(['H', 'e'], {'l', 'l', 'o'})  # 添加列表和集合
    >>> s
    {'H', 'y', 'e', 'o', 'n', 't', 'l', 'P', 'h'}

    在所有情况下,元素都不会重复。

    从集合中删除元素

    可以使用 discard() 和 remove() 方法删除集合中特定的元素。

    两者之间唯一的区别在于:如果集合中不存在指定的元素,使用 discard() 保持不变;但在这种情况下,remove() 会引发 KeyError。

    >>> s = {'P', 'y', 't', 'h', 'o', 'n'}
    >>> 
    >>> s.discard('t')  # 去掉一个存在的元素
    >>> s
    {'y', 'o', 'n', 'P', 'h'}
    >>> 
    >>> s.remove('h')  # 删除一个存在的元素
    >>> s
    {'y', 'o', 'n', 'P'}
    >>> 
    >>> s.discard('w')  # 去掉一个不存在的元素(正常)
    >>> s
    {'y', 'o', 'n', 'P'}
    >>> 
    >>> s.remove('w')  # 删除一个不存在的元素(引发错误)
    ...
    KeyError: 'w'

    类似地,可以使用 pop() 方法删除和返回一个项目。

    还可以使用 clear() 删除集合中的所有元素。

    >>> s = set('Python')
    >>> 
    >>> s.pop()  # 随机返回一个元素
    'y'
    >>> 
    >>> s.clear()  # 清空集合
    >>> s
    set()

    注意: 集合是无序的,所以无法确定哪个元素将被 pop,完全随机。

    集合的方法

    老规矩,利用 dir() 来查看方法列表:

    >>> dir(set)
    ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

    可以看到,有以下方法可用:

    方法 描述
    add() 将元素添加到集合中
    clear() 删除集合中的所有元素
    copy() 返回集合的浅拷贝
    difference() 将两个或多个集合的差集作为一个新集合返回
    difference_update() 从这个集合中删除另一个集合的所有元素
    discard() 删除集合中的一个元素(如果元素不存在,则不执行任何操作)
    intersection() 将两个集合的交集作为一个新集合返回
    intersection_update() 用自己和另一个的交集来更新这个集合
    isdisjoint() 如果两个集合有一个空交集,返回 True
    issubset() 如果另一个集合包含这个集合,返回 True
    issuperset() 如果这个集合包含另一个集合,返回 True
    pop() 删除并返回任意的集合元素(如果集合为空,会引发 KeyError)
    remove() 删除集合中的一个元素(如果元素不存在,会引发 KeyError)
    symmetric_difference() 将两个集合的对称差作为一个新集合返回
    symmetric_difference_update() 用自己和另一个的对称差来更新这个集合
    union() 将集合的并集作为一个新集合返回
    update() 用自己和另一个的并集来更新这个集合

    其中一些方法在上述示例中已经被使用过了,如果有方法不会用,可利用 help() 函数,查看用途及详细说明。

    集合与内置函数

    下述内置函数通常作用于集合,来执行不同的任务。

    函数 描述
    all() 如果集合中的所有元素都是 True(或者集合为空),则返回 True。
    any() 如果集合中的所有元素都是 True,则返回 True;如果集合为空,则返回 False。
    enumerate() 返回一个枚举对象,其中包含了集合中所有元素的索引和值(配对)。
    len() 返回集合的长度(元素个数)
    max() 返回集合中的最大项
    min() 返回集合中的最小项
    sorted() 从集合中的元素返回新的排序列表(不排序集合本身)
    sum() 返回集合的所有元素之和

    不可变集合

    frozenset 是一个具有集合特征的新类,但是一旦分配,它里面的元素就不能更改。这一点和元组非常类似:元组是不可变的列表,frozenset 是不可变的集合。

    集合是 unhashable 的,因此不能用作字典的 key;而 frozensets 是 hashable 的,可以用作字典的 key。

    可以使用函数 frozenset() 创建 frozenset。

    >>> s = frozenset('Python')
    >>> type(s)
    <class 'frozenset'>

    frozenset 也提供了一些列方法,和 set 中的类似。

    >>> dir(frozenset)
    ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'copy', 'difference', 'intersection', 'isdisjoint', 'issubset', 'issuperset', 'symmetric_difference', 'union']

    由于 frozenset 是不可变的,所以没有添加或删除元素的方法。

    展开全文
  • Python 集合集合运算

    万次阅读 多人点赞 2019-01-14 10:32:55
    了解 Python 集合: 它们是什么,如何创建它们,何时使用它们,什么是内置函数,以及它们与集合论操作的...它们之间主要的区别在于,集合不同于列表或元组,集合中的每一个元素不能出现多次,并且是无序存储的。 P...
  • python-统计元素个数

    万次阅读 2018-07-12 18:02:18
    1. 统计数组中所有元素出现的次数&gt;&gt;&gt; y = np.array([1, 1, 2, 3, 3, 3]) &gt;&gt;&gt; key = np.unique(y) &gt;&gt;&gt; result = {} &gt;&gt;&gt; for k...
  • 如何在集合中把另外一个集合当做一个元素存储? 写课题的时候用到了python特征,记录一下。 python的重要特征就是,万物皆对象。 所以python集合中可以放任何对象。 nums = [1,2,3,4,5] memory = [] memory....
  • 你有一误解,hash算法针对的是元素的内容,并不是针对指针,所以指针不变不等于可hash。如果你想深究细节的话,可以看tuple的源码:static Py_hash_ttuplehash(PyTupleObject *v){Py_uhash_t x; /* Unsigned for ...
  • python集合的子集和子集个数

    千次阅读 2019-05-22 18:07:45
    集合A有n个元素,则集合A的子集个数为2n,且有2n-1个真子集,2n-2个非空真子集。 用python中的itertools.combinations(iterable, r)实现了一下: r: 某特定长度的子序列 另玩了下combinations_with_replacement...
  • Python集合用处

    千次阅读 2019-06-17 16:15:01
    详细版本见个人博客:Python集合用处 集合的最大特点是:集合里边的元素是不可重复的并且集合内的元素还是无序的。 一般情况下集合常用的两场景是: 去重(如:列表去重); 关系测试(如:取交集、取并集、取...
  • Python集合set添加元素

    万次阅读 2019-08-07 12:56:47
    集合是无序的,不重复的数据集合,它里面的元素是可哈希的,但是集合本身是不可哈希,因为__hash__赋值为了None,(所以集合做不了字典的键)的。 1、所谓无序,是指遍历元素的时候,与你插入元素、访问元素(访问...
  • Python 集合set

    万次阅读 2015-09-03 22:30:49
    类似于其他语言,集合是一无序不重复元素集,包括创建集合set、向集合中添加元素、删除集合中的元素、求集合的交集、并集、差集等操作。下面就让我们一一来学习集合的这些知识吧。1、set创建集合set集合类需要的...
  • python如何统计list中元素个数

    千次阅读 2021-01-27 15:20:52
    Python统计list中不同元素个数的方法 统计list中元素个数,这里提供一个简单的方法,使用Counter(), 示例如下: from collections import Counter # 随便定义一个list,也可以是自己生成的 temp = [1, 2, 1, 3, 4, ...
  • python数据元素--集合(2/2 集合的常用操作)1.单一集合操作s.add():指定添加set对象中的一个元素。s.remove(element):指定删除set对象中的一个元素;若不存在,返回一错误。s.discard(element):指定删除集合...
  • python集合及其运算

    千次阅读 2019-06-30 23:45:43
    1, 集合定义 集合数据类型是没有顺序的简单对象的... 集合元素必须是可hash对象,可哈希对象的hash码对应唯一值,所以就是说集合元素必须是不可变的,例如bool, int , float, complex, str, tuple, frozenst,而...
  • Python之字典添加元素

    万次阅读 多人点赞 2019-01-05 16:30:24
    0、好吧,还是直接上干货,向字典中添加元素,即Entry,Python用的很巧妙啊,当发现字典中并没有你要的key后,干脆帮你添加进去了 from utils import printWithChinese book_dict = {"price": 500, "bookName": ...
  • Python集合set遍历元素

    万次阅读 2019-01-04 18:38:46
    不废话,直接干货 0、第一种方式,iter...girl_set = set(girl_list) #嘿嘿,把list转成set,set就接受一参数 for every in iter(girl_set): print every 1、第二种方式(不支持),使用range()或者x...
  • Python中列表元素转为数字的方法

    千次阅读 2020-04-26 14:57:29
    本文实例讲述了Python中列表元素转为数字的方法。分享给大家供大家参考,具体如下: 有一数字字符的列表: 1 numbers =['1', '5', '10', '8'] 想要把每个元素转换为数字: 1 ...
  • Python--从集合中随机取出一个元素

    千次阅读 2020-05-29 23:49:27
    Python--从集合中随机取出一个元素 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 有时候有一这样的需求,需要在一数据表...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 8. ㊙ Python 集合三板斧,滚雪球学 Python

    千次阅读 多人点赞 2020-11-27 22:46:03
    Python 中一无序且元素唯一的数据类型,它是集合。滚雪球学 Python
  • python 集合类型及操作介绍

    千次阅读 2018-05-22 00:35:32
    集合元素之间无序,每元素唯一,不存在相同元素 集合元素不可更改,不能是可变数据类型 集合用大括号{}表示,元素间用逗号分隔 建立集合用{}或者set() 如果想要建立一空的集合,必须用set() 例子 A={&amp...
  • python random 从集合中随机选择元素

    万次阅读 2018-03-08 15:26:23
    使用python random模块的choice方法随机选择某个元素 foo = ['a', 'b', 'c', 'd', 'e'] from random import choice print choice(foo)123 使用python random模块的sample函数从列表中随机选择一组元素 list = [1,...
  • (python中比较两个列表是否有重复的元素,以及重复元素个数的求取) a = [1,0,2] b = [0,0,0] x = [k for k in a if k in b] 这个代码的结果是[0] a = [1,0,2] b = [0,0,0] x = [k for k in b if k in a] 这个代码 ...
  • python集合的切片详解

    千次阅读 2018-11-06 14:28:08
    步长s 为正数时:从第一个元素的值开始取,隔(|s|-1)个数开始取值,可以理解为a[n+1]-a[n]=s;负值时,除这个列表之外的值倒过来取值,|a[n+1]-a[n]|=s;因此取得集合是中间值时,倒过来即使空的; a = [0,1,2,3,4,5,...
  • Python进阶(二)-初识Python数据元素:字典&时间

    万次阅读 多人点赞 2017-03-14 16:40:55
    Python进阶(二)-初识Python数据元素:字典&时间3字典3.1字典简介  字典(dic dictionary)是除列表之外python中最灵活的内置数据结构类型。 列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典...
  • #conding:utf-8 class User: #创建一类 def __init__(self, name,age): #初始化各个形参 self.name = name self.age = age u1 = User('tom', '18') #创建一对象 u2 = User('jerry...
  • Python 集合(Set)

    千次阅读 2019-06-23 11:53:51
    版权所有,未经许可,禁止转载 章节Python 介绍 Python 开发环境搭建 Python 语法 Python 变量 Python 数值类型 Python 类型转换 ...Python 集合(Set) Python 字典(Dictionary) Python If … El...
  • 查询个数: 调用list.count(obj)函数,返回obj在list中的个数。 输入: list_a = [2 for x in range(5)] print(list_a) a_count = list_a.count(2) print(a_count) 1 2 3 4 输出: [2, 2, 2, 2, 2] 5 1 2 定位元素...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 150,825
精华内容 60,330
关键字:

python集合元素个数

python 订阅