Python之集合

目录

集合

一、集合的操作

二、交集和并集

三、可变、不可变及类型转换


 

集合

一、集合的操作

          1、集合的定义:某些指定的对象集在一起就成为了一个集合,其中每一个对象叫元素。

          格式:集合名={元素1,元素2,.....}

            例:my_set = {1,3,5}

            定义一个空的集合  my_set = set()       *注意*   my_set = {}  这样的写法为一个空字典

          2、集合的常见操作--增加元素

          ① add()

s1 = set()

s1.add('hello')
s1.add('小猪佩奇')
s1.add('lucy')

print(s1)

          ②update()  #可以添加多个元素

t1 = ('林志玲','言承旭')
s1.update(t1)

print(s1)

s1.add(t1)   #t1作为一个元素被添加集合
print(s1)

         执行结果:

         ③ 增加删除元素

         remove()

s1.remove("言承旭")
print(s1)

s1.remove('道明寺')
print(s1)

         执行结果:   如果元素存在则删除,不存在则报错:KeyError:

         POP()   #随机删除

         clear()  #清空集合

         discard()  #类似remove()移除不存在的元素的时候不会报错

案例一:

import random

"""
.产生 10 个 1-20的随机数,去除里面的重复项
.键盘输入一个元素,将此元素从不重复的集合中删除
"""

# 定义一个 空集合
s1 = set()
# 定义一个循环, 10次, 每次循环的时候,累计 空集合的 元素
for i in range(100):
    ran = random.randint(1, 20)  # 产生一个 1 to 20 的随机数
    s1.add(ran)
    if i == 10:
        break

print(s1)

num = int(input("请输入一个数字:"))
s1.discard(num)

print("删除之后的结果:",s1)

         执行结果:

 

二、交集和并集

         1、集合之差集(-)

         difference()

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}

# set3 = set1 - set2  # set1 比 set2 多 哪些元素
set3 = set1.difference(set2)
set4 = set2.difference(set1)

set5 = set1 ^ set2  # (set1|set2) - (set1&set2)

print(set3)
print(set4)
print(set5)

         执行结果:

         2、集合之交集(&)

         intersection()

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}

set3 = set2.intersection(set1)

print(set3)

         执行结果:

                  {3,4}

 

        3、集合之并集(|)

                  union()

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}

set3 = set1.union(set2)

print(set3)

         执行结果:

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

 

        4、集合之对称差集(^)

                symmetric_difference()

         执行结果:

                  {1,2,5,6}

三、可变、不可变及类型转换

         1、不可变类型:内存中的数据不允许被修改:

                  ✦数字类型 int bool float,complex,long(2.x)

                  ✦字符串 str

                  ✦元组 tuple

         2、可变类型:内存中的数据可以被修改:

                  ✦列表 list

                  ✦字典 dict

                  ✦集合/frozenset()除外,frozenset()返回一个冻结的集合,冻结后集合不能再添加或删除任何元素

                  注意

                        可变类型的数据变化,是通过方法来实现的,如果给一个可变类型的变量,赋值了一个新的数据,引用会被修改

                  ✦变量不再对之前的数据引用

                  ✦变量改为对新赋值的数据引用

         3、数据类型转换

案例一:

# str -- > int
str1 = "100"
num1 = int(str1)
print(num1)

num1 = 1000
str1 = str(num1)
print(str1)

# 列表转换成 字符串
list1 = [1, 2, 3, 4, ]
str2 = str(list1)
print(str2)  # ----> "[1, 2, 3, 4]"
print(type(str2))

         执行结果:

案例二:

str_1 = "hello_kitty!"

str_list = list(str_1)  #转换成列表
print(str_list)

str_tuple = tuple(str_1)  #转换成元组
print(str_tuple)

str_set = set(str_1)  #转换成集合,会进行去重的操作
print(str_set)

str_1 = "1234567"
str_num = int(str_1)  #转换成整型
print(str_num)

str_2 = "3.1415926"  #转换成浮点数
str_flo = float(str_2)
print(str_2)

         执行结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值