文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

变量类型-Set

2023-01-30 22:22

关注

教程:
    集合是一个无序不重复元素的序列,它的特点是:有的可变,有的不可变,元素无序不可重复!

一:集合的创建

    (1)使用花括号

        set={value1, values2}
        
        注意创建一个空集合的时候不能用{},此时创建的是一个字典

    (2)使用内联函数set()------>可以原地修改的集合

        s = set()
    
    注意:    集合是无序的(集合不是序列类型,则集合也不支持索引和切片),
        打印结果取决于内部存储结构和输出方式

    (3)使用内联函数frozenset()---->hashable 可哈希卡类型
二:集合的索引(不允许)

     File "<ipython-input-5-9b6a789630ee>", line 1, in <module>
        set_1[1]
    TypeError: 'set' object does not support indexing

三:集合的运算

    (1)元素与集合之间的关系

        'i' in set('ilove')

    (2)集合a与集合b之间的关系
        
        a == b            判断是否相等
        a < b 或者 a.issubset(b) 判断是否为子集
        a 并 b  ---> a|b 或者 a.union(b)
        a 交 b  ---> a&b 或者 a.intersection(b)
        a 补 b  ---> a-b 或者 a.difference(b)
        a 和 b 的对称差集    a^b 或者 a.symmetric_difference(b)

        
三:集合元素的添加

    (1)方法一:    s.add(x)
    (2)方法二:      s.update(x)    其中x可以是列表,元组,字典

四:集合元素的删除
    
    (1)方法一:    s.remove(x)    元素不存在发生错误
    (2)方法二:      s.discard(x)    元素不存在不会发生错误
    (3)方法三:      s.pop()        随机删除一个元素
    (4)方法四:      s.clear()    清空集合

五:集合内置函数

    len(set)----set元素的总数
    set.add()-----添加
    set.update()--更新
    还包括上面的四个函数
    
CODE:
# -----------------------------------------------------------------------------------------------------#
# 集合的创建
# -----------------------------------------------------------------------------------------------------#
set_1 = set('abracadabra')  # 创建可变的集合
print("set_1:", set_1)

set_1.add('python')         # 元素的添加
print("添加Python后set_1:", set_1)

set_2 = set('alacazam')
print("set_2:", set_2)

set_3 = frozenset('faith')  # 创建不可变的集合验证元素不可添加
print("创建不可变集合set_3:", set_3)


# -----------------------------------------------------------------------------------------------------#
# 集合的运算
# -----------------------------------------------------------------------------------------------------#
print("set_1 - set_2: ", set_1 - set_2)

print("set_1 | set_2: ", set_1 | set_2)

print("set_1 & set_2: ", set_1 & set_2)

print("set_1 ^ set_2: ", set_1 ^ set_2)


# -----------------------------------------------------------------------------------------------------#
# 集合元素的添加(对于可变集合)
# -----------------------------------------------------------------------------------------------------#

# 方法一

set_2 = set('alacazam')
set_2.add("faith")
print("添加元素方法一:", set_2)

# 方法二
x = {1, 2, 3, 'aaa'}        # 列表
y = (1, 2, 3, 'aaa')        # 元组
z = {1: 'wang', 2: 'aaa'}   # 字典--->只添加键值

set_2.update(z)
print("添加元素方法二:", set_2)

# -----------------------------------------------------------------------------------------------------#
# 集合元素的删除
# -----------------------------------------------------------------------------------------------------#

# 方法一
set_2.remove('faith')
print("删除元素方法一:", set_2)

# 方法二
set_2.discard('1')
print("删除元素方法二:", set_2)

# 方法三
set_2.pop()

print("删除元素方法三:", set_2)
# 方法三
set_2.clear()
print("删除元素方法四:", set_2)







阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯