zoukankan      html  css  js  c++  java
  • python---数据类型----set集合和字典

    一、set集合

                   元素是无序的,不可重复的数据类型

                   无序特性:嵌入的数据的顺序和取出来的顺序是不一样的

                   不可重复:数据不能有重复的元素

           set定义:

                  使用{}来定义set集合:{},而且至少要有一个元素

                  可以对set集合类型进行集合运算,差集,补集,交集

    # num6=set("abcdefg");
    # num7=set("abcmn");
    # print(num6 - num7)#差集 {'d', 'e', 'g', 'f'}       集合a中包含而集合b中不包含的元素
    # print(num6 | num7)#并集{'e', 'w', 's', 'x', 'o', 'h', 'l'}  集合a或b中包含的所有元素
    # print(num6 & num7)#交集{'e', 'o', 'l', 'h'}集合num6和num7中都包含了的元素
    # print(num6 ^ num7)#不同时存在元素 {'m', 'g', 'f', 'd', 'e', 'n'}
       语法:1、num1={values1,,values2}
    2、num1=set(value)
    方法:
    1、添加
    num1.add(s):添加值
    num1.update(s):添加值
    2、删除
    num1.remove(s);删除一个值
    num1.discard(s);删除一个值
    num1.pop();随机删除一个值
    3、计算元素个数
    len(s)
    4、清空集合
    s.clear();
    5、判断语法是否存在
    "参数" in 变量名
    x in s
    num8=set(("xiaoming","xiaohong1","xiaobo"));
    #给集合添加一条信息
    num8.add("小明");
    print(num8);#{'xiaobo', '小明', 'xiaoming', 'xiaohong1'}
    #给集合添加一条信息,  列表信息直接添加到集合中,位置是随机放的
    num8.update([1,2,3],[4,5,6]);
    print(num8);#{'小明', 2, 1, 3, 4, 5, 6, 'xiaobo', 'xiaoming', 'xiaohong1'}
    # #删除
    # #第一种删除方式
    num8.remove("xiaoming");
    print(num8);#{1, 2, 3, 4, 5, 6, 'xiaobo', 'xiaohong1', '小明'}
    #第二种删除方式
    num8.discard("小明");
    print(num8);#{'xiaohong1', 2, 1, 3, 4, 'xiaobo', 5, 6}
    #的三种删除方式
    num8.pop();
    print(num8);#{2, 3, 4, 5, 6, 'xiaohong1', 'xiaobo'}
    #计算元素个数:len()
    num10={"name","age"};
    print(len(num10));
    # #清空集合
    num11={"我是","魏世轩"};
    num11.clear();
    print(num11)#set()
    

      

    二、字典

    1、格式
    字典有每个键值:key:value
    每个键值用逗号隔开,
    用{}来表示
    2、作用:
    即存储容器,可以存储任意类型对象
    3、注意:
    键是唯一的,而值是可以任意改变的
    语句前面不能有空格
    4、操作
    增删改查
    字典内置函数
    1、len(num2):键值对数量
    2、str(num2):输入语句
    3、type(num2):返回变量类型
    字典内置方法
    1、keys():用户获取所有的键,是一个列表形式
    2、values:用于获取所有的值,是一个列表形式
    3、items:获取所有的键值对
    4、dict.fromkeys():创建只有键的字典
    num1={'name':'老大','age':'19','hobby':'看书'};
    #1、查询name信息
    print("名字:"+num1['name']);#名字:老大
    #2、修改信息
    num1['age']=20;
    print("修改年龄:",num1['age']);#修改年龄 20
    #3、增加键值
    num1['gender']='男';
    print("性别:"+num1['gender']);#性别:男
    #4、删除
     #删除单个键值
    del num1['name']
    print(num1);#{'age': 20, 'gender': '男', 'hobby': '看书'}
    #清空字典
    num1.clear();
    print(num1);#{}
    #删除字典
    del num1;#删除字典,什么都不会显示
    
    #字典内置函数
    num2={'name':'老二','age':20,'gender':'男','hobby':'吃'};
    #统计字典键值对总共数量
    print(len(num2));#4
    #输出字典
    print(str(num2));#{'name': '老二', 'gender': '男', 'age': 20, 'hobby': '吃'}
    #返回变量类型
    print(type(num2));#<class 'dict'>字典类型
    
    
    #字典内置方法
    num3={'name':'老三','age':21,'gender':'女','hobby':'拉'};
    print("字典长度 %d"%len(num3));#字典长度 4
    #删除字典中所有元素
    # num3.clear();
    # print("字典删除后的长度 %d"%len(num3));#字典删除后的长度 0
    #字典的浅复制
    num4=num3.copy();
    print("新复制的字典:",num4);#字典: {'hobby': '拉', 'age': 21, 'name': '老三', 'gender': '女'}
    #创建一个新字典num3.fromkeys(sel,val);sel字典的键,val所有键的唯一值
    num5=num3.fromkeys(num3);#引用的num3的键
    print("新的字典为 %s"% str(num5))#新的字典为 {'gender': None, 'name': None, 'hobby': None, 'age': None}
    #keys()用户获取所有的键,是一个列表形式
    print(num3.keys());#dict_keys(['age', 'hobby', 'name', 'gender'])
    #values:用于获取所有的值,是一个列表形式
    print(num3.values());#dict_values(['拉', 21, '女', '老三'])
    #items:获取所有的键值对
    print(num3.items());#dict_items([('hobby', '拉'), ('name', '老三'), ('gender', '女'), ('age', 21)])
    #dict.fromkeys():创建只有键的字典
    print(num3.fromkeys(num3));#{'name': None, 'age': None, 'gender': None, 'hobby': None}
    

      

     
  • 相关阅读:
    springMVC将处理的后的数据通过post方法传给页面时,可能会出现乱码问题,下面提出解决post乱码问题的方法
    div3的e题有点水呀
    鸽天的放鸽序列---牛客网
    CodeForces
    NOIP2009 压轴---最优贸易
    在加权无向图上求出一条从1号结点到N号结点的路径,使路径上第K+1大的边权尽量小
    好久没写题解了
    皇宫看守问题(带权树上独立集)
    树的最大独立集合问题
    拓扑排序+动态规划
  • 原文地址:https://www.cnblogs.com/wsx123/p/14149671.html
Copyright © 2011-2022 走看看