python基础知识小结之集合

(编辑:jimmy 日期: 2024/9/24 浏览:2)

集合

特点:集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键,与列表和元组不同,集合无法通过数字进行索引。此外,集合中的元素不能重复。

 定义

 set() -> new empty set object
 set(iterable) -> new set object
 s = {0}

应用:去重

 > lst1 = [1,1,2,2,3,4,2]
 > list(set(lst1))
 [1, 2, 3, 4]


常用操作

集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^
子集< <=及超集> >=
增删,清空操作

具体见如下代码例子

> lst1 = [1,2]
> lst2 = [2,3]
> a = set(lst1) #定义集合
> b = set(lst2)
> a,b
({1, 2}, {2, 3})
> a|b #取并集
{1, 2, 3}
> a&b #取交集
{2}
> a-b #取差集
{1}
> b-a #取差集
{3}
> list(a) #转换集合为列表,也可转为元组,如 tuple(a)返回 (1,2)
[1, 2]
> a < b #子集判断
False
> c = set([1])
> c
{1}
> c < a #子集判断
True
> c <= a #子集判断
True
> d = set([1,2,3])
> d > a #超集判断
True
> 
> d >= a #超集判断
True
> a,b
({1, 2}, {2, 3})
> a^b # 对称差集 
{1, 3}
> c
{1}
> d
{1, 2, 3}
> a^d # 对称差集 
{3}
> s = {0}
> type(s)
<class 'set'>
> 
> print(s, len(s)) #集合长度 
{0} 1
> s.add('1') #添加元素
> s
{0, '1'}
> s.update([2,3]) #添加多个元素
> s
{0, 2, 3, '1'}
> s.remove(2) #删除指定元素,如没有则报错
> s
{0, 3, '1'}
> s.pop() #随便删元素(貌似没什么用)
0
> s
{3, '1'}
> s.discard(3) #删除指定元素
> s
{'1'}
> s.clear() #清空集合
> s
set()

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?