Python之遍历字典与集合

遍历字典
    keys()
     values()
       items()

集合
   不同点
     集合只能存储不可变对象
        集合中存储的元素是无序的
          集合不能出现重复的元素
                 set()
         add()
     update()
             pop()
                remove()
                    celear()
集合的运算

交集运算
    差集运算
       并集运算
          异或集运算
              子集,真子集,超集,真超集


遍历字典


keys()
keys()返回的是一个序列,保存的是字典中所有的键

如下:

dct = {'name':'tom','age':'18','job':'teacher'}
for i in dct.keys():
    print(i)

打印 结果:

name
age
job



values()
values()返回的是一个序列,保存的是字典中所有的值

如下:

dct = {'name':'tom','age':'18','job':'teacher'}
for i in dct.values():
    print(i)

打印结果:

tom
18
teacher


items()
items()返回的是一个序列,返回字典的所有项,包括双值子序列

如下:

dct = {'name':'tom','age':'18','job':'teacher'}
for i,j in dct.items():
    print(i,':',j)

打印结果:

name : tom
age : 18
job : teacher

 

集合(set)

  • 集合中的元素是无序的
  • 集合中不能出现重复的元素
  • 集合只能存储不可变序列
  • 集合的创建
  • 集合和字典相同都用{},但是集合没有键,只有元素值
  • 集合中存贮列表会报错,因为只能存贮不可变序列,而列表是可变的

直接创建:

s = {1,2,3,4}
print(s,type(s))

打印结果:

{1, 2, 3, 4} <class 'set'>


通过set()创建:

s= set([1,2,3,4]) #这里函数中用列表,因为要存储序列
print(s,type(s))
s = set({'name':'tom','age':18})  #用set函数将字典转换为集合仅会保留字典的键
print(s)

打印结果:

{1, 2, 3, 4} <class 'set'>
{'name', 'age'}


集合的修改

add()
add()向集合中添加元素

s = {1,2,3,4,5}
print('修改前',s)
s.add(8)
print('修改后',s)

打印结果:

修改前 {1, 2, 3, 4, 5}
修改后 {1, 2, 3, 4, 5, 8}


update()

update()将一个集合中的元素添加到另一个集合中

s1 = {1,2,3,4,5,6,}
s2 = {7,8,9}
print('修改前',s1)
s1.update(s2)
print('修改后',s1)

打印结果:

修改前 {1, 2, 3, 4, 5, 6}
修改后 {1, 2, 3, 4, 5, 6, 7, 8, 9}


pop()

pop()可以删除集合中随机一个元素,一般为最后一个

s1 = {7,2,3,4,5,6}
print('修改前',s1)
s1.pop()
print('修改后',s1)

打印结果:

修改前 {2, 3, 4, 5, 6, 7}
修改后 {3, 4, 5, 6, 7}


remove()

remove()删除集合中指定的元素

s1 = {7,2,3,4,5,6}
print('修改前',s1)
s1.remove(4)
print('修改后',s1)

打印结果:

修改前 {2, 3, 4, 5, 6, 7}
修改后 {2, 3, 5, 6, 7}

清空集合

clear()

s1 = {7,2,3,4,5,6}
print('修改前',s1)
s1.clear()
print('修改后',s1)

打印结果:

修改前 {2, 3, 4, 5, 6, 7}
修改后 set()


集合的运算

交集运算

交集

python中计算交集的运算符是 “ & ”

s1 = {1,2,3,4,5,6,7}
s2 = {2,3,4,5,6,7}
s3 = s1 & s2
print(s3)

打印结果:

{2, 3, 4, 5, 6, 7}

差集运算

差集

python中计算差集的运算符是 “ - ”

s1 = {1,2,3,4,5,6,7}
s2 = {2,3,4,5,6,7,8}
s3 = s1- s2
print(s3)

打印结果:

{1}


也可以用difference()方法

s1 = {1,2,3,4,5,6,7}
s2 = {2,3,4,5,6,7,8}
s3 = s1.difference(s2)
print(s3)

打印结果:


{7}


并集运算

并集
python中计算并集的运算符是 “|”

s1 = {1,2,3,4,5,6,7}
s2 = {2,3,4,5,6,7,8}
s3 = s1 |s2
print(s3)

打印结果:

{1, 2, 3, 4, 5, 6, 7, 8}


异或集运算

异或集指集合中不相交的部分
python中计算异或集的运算符是 “ ^ ”

s1 = {1, 2, 3, 4, 5, 6, 7}
s2 = {2, 3, 4, 5, 6, 7, 8}
s3 = s1 ^ s2
print(s3)

打印结果:

{1, 8}


子集,真子集,超集,真超集


子集: 如果a集合中的元素全部都在b集合中出现,那么a集合就是b集合的子集,b集合是a集合超集

真子集:如果A是B的子集,并且B中至少有一个元素不属于A,那么集合A叫做集合B的真子集.

 

”<= “检查一个集合是否另一个集合的子集
“ < ” 检查一个集合是否是另一个集合的真子集
“> = ”检查一个集合是否另一个集合的超集
“ > ” 检查一个集合是否另一个集合的真超集

 

 

a = {1,2,3,}
b = {1,2,3,4,5,6}
c= a < b # 如果超集b中含有子集a中所有元素,并且b中还有a中没有的元素,则b就是a的真超集,a是b的真子集
d = a<= b # 第一个集合的所有元素都出现在第二个集合中 
e = a> b
f = a >= b
print(c,d,e,f) 

打印结果:

True True False False

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值