python 元组集合

Posted Binance

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 元组集合相关的知识,希望对你有一定的参考价值。

Python 元组集合

一、元组

  • 元组和列表差不多.也是存一组数.  PS:元组一旦创建便不可更改. 故又称只读列表.存放一些不想被人修改的数据.如身份证等信息
  • 语法:
    • name = ("yuhonglin","gouer","xixihaha")
  • 方法:

    只有两方法.

     1.count  

     2.index

二、集合

  • 定义:由不同元素组成的集合. 集合是一个无序排列可hash值. 可以作为字典的key
  • 作用:
    • 去重. 把一个列表变成集合,就自动去重了(set)
    • 关系测试 测试两组数据之前的交集差集并集等关系
  • 特性:集合的目的是将不同的值存放在一起. 不用的集合间用来做关系运算. 无需纠结于集合中的单个值
    • PS:打印时自动去重
  • 创建集合:
    • S1 = {"a",1,2,3,2,3,1,4}   PS:集合是用逗号就行分割的.
  • 集合的相关方法 
定义两个集合:
  python_list = {"Yuhl","Yulan","Zhaoyizao","Gouer","Liuyaojun"}
  linux_list = {"Yuhl","Liuyaojun"}
#定义空列表.  找出报了python and linux课程的人员.  娄逼写法
   both_list = []
   for name in linux_list:
       if name in python_list:
           both_list.append(name)

   print(both_list)

#交集    打印出共有的  如果有三个的话.  接着向后写& 或者intersection
print(python_list&linux_list)
print(python_list.intersection(linux_list))

#并集. 取两个集合的所有值.
print(python_list|linux_list)
print(python_list.union(linux_list))

#差集. 找出出唯一的. A-B  打印出A中不包含B中的数据.A中包含的数据不打印  B-A打印出B中不包含A中的数据.B中包含的数据不打印.
#PS:可以集合名可以反过来写.
print(python_list-linux_list)
print(linux_list-python_list)
print(python_list.difference(linux_list))

#对称差集    找出两集合中不同的数据. 去掉相同的数据.
print(python_list^linux_list)
print(python_list.symmetric_difference(linux_list))

#子集
print(python_list <= linux_list)
print(python_list.issubset(linux_list))     #   PS:python_list 是不是 linux_list的子集. 是返回Ture 不是返回False

#父集
print(python_list >= linux_list)
print(python_list.issuperset(linux_list))   #   PS:python_list 是不是 linux_list的父集. 是返回Trur 不是返回False 
  • 集合的内置方法
定义一个集合
S1 = {1,2,3}
#update 向集合中插入数据.  只插入不存在的.  如果是字符串会拆开向里面插入.  更新
S1.update("e")
print(S1)
输出:{1, 2, 3, ‘e‘}
S1.update((2,3,4))
print(S1)
输出:{1, 2, 3, 4}
S2 = {"H","W",1}
S1.update(S2)
print(S1)
输出:{1, 2, 3, ‘H‘, ‘W‘}

#add 将整个加入到集合中
S1.add("hello")
print(S1)
输出:{1, 2, 3, ‘hello‘}

#pop 随机删除集合中的某一个元素
S1.pop()
print(S1)
输出:{2, 3}

#remove 删除制定元素. 如果集合中没有这个会直接报错.
S1.remove(1)
print(S1)
输出:{2, 3}

#discard 删除指定元素. 存在正常删除. 如果不存在也不抱错.
S1.discard("w")
print(S1)
输出:{1, 2, 3}

#clear 清空
S1.clear()
print(S1)
输出:set()

#copy 浅拷贝
S2 = S1.copy()
print(S2,S1)
输出:{1, 2, 3} {1, 2, 3}

S1 = {1,2,3,"A","E"}
S2 = {1,2,3}
print(S1.difference(S2))
输出:{‘A‘, ‘E‘}
print(S1)
输出:{1, 2, 3, ‘A‘, ‘E‘}

print(S1.difference_update(S2))
输出:None
print(S1)
输出:{‘A‘, ‘E‘} 

以上是关于python 元组集合的主要内容,如果未能解决你的问题,请参考以下文章

Python列表,元组,字典,集合的比较总结【表格对比】

Python 元组+集合+随机

python 元组集合

Python的集合和元组

Python:用于元组的 Pandas DataFrame

Python列表,元组,集合,字典的区别和相互