python 删除set指定值_python入门教程NO.6 用python做个简单的彩票号码统计分析工具

8e79e2a99d6e0cd60c624646ee2dcf8e.png

python入门教程

python入门教程NO.6 用python做个简单的彩票号码统计分析工具

本文涉及的python基础语法是:字典、集合及for循环

字典的定义

  • 字典也是一种可变的容器,它可以存储任意的类型对象。
  • 字典中的每个key: value键值对用冒号 : 分割,不同键值对之间用逗号 , 分割,整个字典包括在花括号{}中 ,示例如下
dic = {key1 : value1, key2 : value2, key3 : value3}

python字典的必须不可变(可以是字符串、数字、元组,不能是列表),如果一个字典内部有相同的健,那么后面的健值会替换前面的同名健值

dic = {'a': 5, 'b': 8, 'c': 9 , 'a': 0}print(dic['a'])#输出:0print(dic)#输出:{'a': 0, 'b': 8, 'c': 9}

如果用不在字典里面的获取数据,会发生如下的错误

dic = {'a': 5, 'b': 8, 'c': 9 , 'a': 0}print(dic['ae'])#输出:Traceback (most recent call last):  File "D:/test/demo.py", line 2, in     print(dic['ae'])KeyError: 'ae'

字典的增删改查

dic = {'name': 'python攻城狮' ,  'gender': '男' ,  'hobby': '写代码'}#通过赋值的方式,增加新的键值对dic['age'] = 28   print(dic)#输出:{'name': 'python攻城狮', 'gender': '男', 'hobby': '写代码', 'age': 28}#通过del方法,可以删除指定的键值对dic = {'name': 'python攻城狮', 'gender': '男', 'hobby': '写代码', 'age': 28}del dic['gender']print(dic)#输出:{'name': 'python攻城狮', 'hobby': '写代码', 'age': 28}#可以直接通过赋值的方式修改指定健的值dic = {'name': 'python攻城狮', 'hobby': '写代码', 'age': 28}dic['age'] = 30print(dic['age'])          #输出:30#查找字典里面健的值dic = {'name': 'python攻城狮', 'hobby': '写代码', 'age': 28}print(dic['name'])          #输出:python攻城狮#判断是否存在该健dic = {'name': 'python攻城狮', 'hobby': '写代码', 'age': 28}if 'interest' in dic:  print('True')else:  print('False')#输出:False     即表明该健不在字典dic中,if...else...条件判断语句,我们后面会讲到

字典的内置函数和方法

Python字典包含了以下内置函数:

函数描述cmp(dic1, dic2)比较两个字典元素。len(dic)计算字典元素个数,即键的总数。str(dic)输出字典可打印的字符串表示。type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

函数方法描述dic.clear()删除字典内所有元素dic.copy()返回一个字典的浅复制dic.fromkeys(seq[, val])创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值dic.get(key, default=None)返回指定键的值,如果值不在字典中返回default值dic.has_key(key)如果键在字典dict里返回true,否则返回falsedic.items()以列表返回可遍历的(键, 值) 元组数组dic.keys()以列表返回一个字典所有的键dic.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为defaultdic.update(dict2)把字典dict2的键/值对更新到dict里dic.values()以列表返回字典中的所有值pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。popitem()返回并删除字典中的最后一对键和值。

集合

集合(set)是一个无序且不重复元素序列,可以使用{}或者set()来创建集合,但是要注意的是:创建空集合必须使用set(),因为{}创建的是空字典

#创建集合a = {1, 3 , 5 , 8}或a = set('abcbacf')print(a)    #输出:{'b', 'f', 'a', 'c'}      当我们想要去掉一段序列重复项时可以使用集合

python两个集合之间的运算:假定我们现在有两个集合,分别是a = {1, 5 ,3 , 2},b = { 4 , 6 , 3 , 2}

#求a与b的交集(集合a和b中都包含了的元素)print(a & b)      #输出:{2, 3}#求a与b的并集(集合a或b中包含的所有元素)print(a | b)      #输出: {1, 2, 3, 4, 5, 6}#求a与b的差集(集合a(b)中包含而集合b(a)中不包含的元素)print(a - b)     #输出:{1, 5}print(b - a)     #输出:{4, 6}#求a与b的对称差集(不同时包含于a和b的元素)print(a ^ b)    #输出:{1, 4, 5, 6}

集合的函数方法

方法描述add()为集合添加元素clear()移除集合中的所有元素copy()拷贝一个集合difference()返回多个集合的差集difference_update()移除集合中的元素,该元素在指定的集合也存在。discard()删除集合中指定的元素intersection()返回集合的交集intersection_update()返回集合的交集。isdisjoint()判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。issubset()判断指定集合是否为该方法参数集合的子集。issuperset()判断该方法的参数集合是否为指定集合的子集pop()随机移除元素remove()移除指定元素symmetric_difference()返回两个集合中不重复的元素集合。symmetric_difference_update()移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。union()返回两个集合的并集update()给集合添加元素

#1、添加元素a = {0, 1}a.add(8)print(a)     #输出:{0, 1, 8}#2、移除元素a ={0, 1, 8}a.remove(0)print(a)     #输出:{1, 8}#其他方法大家可以一一尝试一下,了解他们的用法

for循环

Python中for循环可以循环遍历任何序列的项目,例如字符串、列表、元组、字典等,语法结构为for...in...:

#遍历一个字符串a = 'hello攻城狮'for i in a:    #这里的i可以使用任何变量代替  print(i)#输出:hello攻城狮
#遍历一个列表lists = [1, 8 , 9 , 5]for e in lists:  print(e)#输出:1895
#遍历一个字典dic = {'name': 'python攻城狮', 'hobby': '写代码', 'age': 28}for i in dic:  print(i)#输出:直接遍历字典,会默认遍历字典的健namehobbyage#遍历字典的值dic = {'name': 'python攻城狮', 'hobby': '写代码', 'age': 28}for i in dic.values():  print(i)#输出:python攻城狮写代码28#遍历字典的键值对dic = {'name': 'python攻城狮', 'hobby': '写代码', 'age': 28}for i in dic.items():  print(i)#输出:('name', 'python攻城狮')('hobby', '写代码')('age', 28)

用python做个彩票统计分析工具

  • 假如我们一共有5组连续的彩票开奖号码,他们分别是
5f8ecdac7b6d0c2083240ac3922a92f5.png
  • 我们需要统计一下这5期彩票中,每个号码出现的次数,并将次数作为号码的值,以字典的形式打印出来

请根据要求,开始你的编程吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值