首页 > 编程语言 > 详细

python基础学习——集合

时间:2019-09-17 23:14:25      阅读:98      评论:0      收藏:0      [点我收藏+]

一、集合的相关定义

1、集合set

      由不同的元素组成,无序排列、不可变数据类型。由大括号{},以逗号分隔方式定义

2、集合的内置方法

    2.1 add添加元素,只能存放一个元素

    2.2 clear清空元素

    2.3 copy浅拷贝

    2.4 pop随机删除元素

    2.5 remove("s")删除指定元素,且删除不存在的元素会报错

    2.6 discord("sfr")删除指定元素,且删除不存在元素时不报错

    2.7 difference_update,两个集合不同元素,且更新集合中的元素

python_1=["nana","baby","123",222]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)

p_s.difference_update((l_s))
print(p_s)


结果:
{222, nana}

    2.8 isdisjoint,两个集合之间不存在交集时,返回Frue,否则False

python_1=["nana","baby","123",222]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)

print(p_s.isdisjoint((l_s)))

False

    2.9 issubset,判断是否是包含关系,子集关系

python_1=["baby","123"]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)

print(p_s.issubset((l_s)))   #p_s是否是l_s的子集

结果:
True

    2.10 issuperset,判断是否是包含关系,父集关系

python_1=["baby","123"]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)

print(p_s.issuperset((l_s)))   #p_s是否是l_s的父集

False

    2.11update更新指定的集合中的元素,可以同时更新多个值(元组、列表)

python_1=["baby","123"]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)
p_s.update(l_s)
p_s.update((3,4,"444"))
print(p_s) 

 

 

 

 

3、集合关系

     3.1交集

python_1=["nana","baby","123",222]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)

print(p_s.intersection(l_s))
print(p_s&l_s)

结果:
{baby, 123}

     3.2并集,不更新集合本身的数据

python_1=["nana","baby","123",222]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)

print(p_s.union(l_s))
print(p_s|l_s)

结果:
{baby, 娜娜, 中华, nana, 999, 123, 222}

     3.3差集

python_1=["nana","baby","123",222]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)

print(p_s.difference(l_s))
print(p_s-l_s)

结果:
{nana, 222}

     3.4交叉补集

python_1=["nana","baby","123",222]
linux_1=["娜娜","baby","123",999,"中华"]
p_s=set(python_1)
l_s=set(linux_1)

print(p_s.symmetric_difference(l_s))
print(p_s^l_s)

结果:
{娜娜, 999, nana, 中华, 222}

 

python基础学习——集合

原文:https://www.cnblogs.com/xucuiqing/p/11537704.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!