python中的集合

集和
定义:字典近亲
集和是不重复的数据结构
『集合可以实现去重,可以实现关系测试』
s = {}    ##若{}为空,则为字典类型
s = {1,2,3,4}  ##输出时自动删去重复内容
s = set(s)  ##定义空集和    
####工厂方法定义集和时,括和里面是可叠带对象####
set(li1.extend(li2)) 或 set(li1 + li2)

如何实现列表去重
一、转换为集和数据类型 set(列表)
二、利用字典的 {}.fromkeys()
增:s.add() 重复则无影响
   s.update(s1) 添加另一个集和   --集合是无序不重复的数据类型,不支
   持索引和切片;不支持重复;不支持连接;支持成员操作符;支持for循环,
   是可叠带的。
改:
删:s.pop()随机删除
   s.remove('')指定删除,若删除元素不存在于集合中则报错
   s.clear()清空集合元
查:交集 -- s1 & s2   s1.intersection(s2)
   并集 -- s1 | s2   s1.union(s2)
   差集 -- s1 - s2   s1.difference(s2)
   对等差分 -- s1 ^ s2   s1.symmetric_difference(s2)
   s1.intersection_update(s2)    求出交集并赋值给s1
   s1.issuperset(s2)  判断s1是否s2的父集
   s1.isdisjoint(s2)  判断s1和s2是否没有交集

###总结
可变数据类型:列表,字典,集合
不可变数据类型:数值类型,字符串,元组

可变数据类型调用某个功能,直接改变可变的数据类型
不可变数据类型调用某个功能,需要将结果赋值给另外一个变量

可迭代数据类型(能实现for循环):str,list,tuple,dict,set
不可迭代数据类型:数值类型

****是否支持索引,切片,重复和连接特性****
有序数据类型:str,list,tuple
无序数据类型:dict,set


练习题:

# 1. 题目描述

现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。
现在需要你用程序来判断IP是否合法。

输入描述:输入一个ip地址
输出描述:返回判断的结果YES or NO


示例1
输入: 10.138.15.1
输出: YES


#2. 题目描述
1 总体说明
考生需要模拟实现一个简单的自动售货系统,实现投币、购买商品、退币、查询库存商品及存钱盒信息的功能。
系统初始化时自动售货机中商品为6种商品,商品的单价自定义,存钱盒内放置1元、2元、5元、10元钱币,商品数量和钱币张数通过初始化命令设置。
商品:每种商品包含商品名称、单价、数量三种属性,其中商品名不重复。不能修改商品名称和单价,初始化命令设置商品数量。
 


# 3. ATM
            ATM柜员机管理系统
实现功能:
    1. 当用户在登陆界面输入卡号和密码能登陆;
    2. 实现开户功能;
    3. 与机器交互实现取款, 存款, 转账, 查询余额,
       冻结账户, 修改密码等功能;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值