python笔记8 - 集合

2010/10/11

集合

1.字典的基本函数操作:

len(x) 返回字典的长度

max(x) 返回字典的键的最大值

min(x) 返回字典的键的最小值

sum(x) 返回字典中所有键的和

any(x) 真值测试,任意键为真,则返回True,否则返回False

all(x) 真值测试,所有键为真,则返回True,否则返回False

 

总结:所有的容器都支持以上的函数操作

 

实例:

d = {3:"333",8:"888",5:"555"}

len(d) #3

max(d) #8

min(d) #3

sum(d) #16

 

 

2.集合 set (help(set)可查)  :

集合是可变的容器(目前学习到3种容器:列表,字典,集合);

集合内的数据对象都是唯一的(类比字典的键);

集合是无序的存储结构,集合中的数据没有先后关系(即输出时不一定按照输入的顺序);

集合是相当于只有键,没有值的字典,则键是集合的数据;

集合内的元素必须是不可变的对象(列表,字典,集合都不能放在集合里列表的值,字典中键的值均可以变化),如果赋值变化成集合,其数据集会按下实例发生一些列的数据变化,比如列表中重复的值将会去重,并将列表符号换成集合符号,而且需使用s = set([1,2,3,1])命令,不可以使用s = {1,2,3,4,2,1,1}命令

集合可迭代(可以用for等进行遍历)

 

(1)

生成集合:

生成空的集合:

set()

生成非空集合:

set(iterable)函数:

实例:

  a = set([1,2,3,4])  #生成集合{ 1,2,3,4 }@@@@@@@@@@@@@@@@@@@@@@@@@@@@内部写为可迭代对象 

  a = { 1,2,3,4 }     #生成集合{ 1,2,3,4 }@@@@@@@@@@@@@@@@@@@@@@@@@@@@大括号默认是字典,内部应为可迭代对象

  a = set("xiaoyuxiu")   #生成集合{'i', 'x', 'y', 'a', 'o', 'u'}  去重x,i !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  a = set({"name":"tarena","age":15})   #生成集合{'name', 'age'}  只留下键!!!!!!!即如果不想拆开输入的字符串,就使用列表

  a = set(("abc",123,True))  #{True, 123, 'abc'}

 

  a = set(True,None,"abc",(1,2,3),3.14) #报错,应改

  a = set((True,None,"abc",(1,2,3),3.14)) #{True, None, 3.14, 'abc', (1, 2, 3)} #输出无序,内部应为可迭代对象,列表或者元组或者字典

 

(2)

集合的运算:

交集,全集,补集,子集,超集

A = {1,2,3}

B = {2,3,4}

C = {1}

D = {100}

交集 = {1,2}

并集 = {1,2,3,4}

补集 A - B          # {1} 等同于A减AB的交集

     B - A          # {4} 等同于B减AB的交集

A是C的超集,A不是D的超集

 

注意:

A - B == {}  #False 左侧是集合,右侧是字典,永远不会相等,要使用set()!!!!!!!!!!!!!!!!!!!!

 

生成两个集合的并集

A = {1,2,3}

B = {2,3,4}

A | B          #生成并集{1,2,3,4}

 

生成两个集合的并集

A = {1,2,3}

B = {2,3,4}

A & B          #生成交集{ 2,3 }

{1,2} & {5,6}   #set()

 

生成两个集合的对称补集:

A = {1,2,3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值