zoukankan      html  css  js  c++  java
  • day6---字典,集合内置方法

    字典

    ========================字典(dict)基本方法===========================

    用途:

    定义方式:通过大括号来存储数据,通过key:value来定义键值对数据,每个键值对中间通过逗号分隔

    key:一定是一个不可变类型

    value:可以是任意类型

    字典的三种定义方式·:

    1、*****
    d1 = {'name':'egon','age':84}

    2、*****

    d2 = dict({'name':'egon'})

    3、zip : 了解即可

    l1 = ['name',"age"]
    l2 = ['egon',18]
    z1 = zip(l1,l2)
    print(dict(z1))

    常用方法:

    1、优先掌握的    1、按照key:value映射关系取值(可存可取)   

    2、成员运算in,not in # 默认判断key   

    3、len()  # 获取当前字典中键值对的个数

    • d1 = {'name':'egon', 'age': 73}
      print(d1['name'])       根据key取值
      print(d1['age'])
      d1['name'] = 'tank'     根据key换对应的值
      d1['gender'] = 'male'
      print(d1)               添加新的键值对
      print('egon' in d1)     更换了name的值后判断egon是否在字典中。
    • get( ) : 获取指定key的值,如果值不存在·,默认返回None,可以通过第二个参数修改默认返回的内容

      print(d1.get('gender'))

      None
      print(d1.get('gender','male'))

      male
    • keys、values、items 

      print(d1.keys())  # 返回所有的key
      print(d1.values()) # 返回所有的值
      print(d1.items()) # 返回所有的键值对,返回值是列表套元组,每一个键值对都是存在元组

      也可以用for循环提取
      for key in d1.keys():
        print(key)
      for value in d1.values():
        print(value)
      for key,value in d1.items():
        print(key,value)
      key,value = ("name",'age')

      name egon
      age 73
    • pop:删除 : 指定key进行删除,有返回值,返回为对应的value

      a = d1.pop('name')
      print(d1)
      print(a)

      {'age': 73}
      egon
    • popitem() ,随机弹出一个键值对,有返回值,返回只是一个元组

      d1 = {'name':'egon', 'age': 73,'gender':'male','a':"1"}

      s1 = d1.popitem()
      print(s1)
      print(type(s1))

      ('a', '1')
      <class 'tuple'>
    • update : 用新字典替换旧字典

      d1 = {'name':'egon', 'age': 73,'gender':'male','a':"1"}
      d1.update({"b":'2'})
      print(d1)
      d1.update({'name':'tank'})
      print(d1)

      {'name': 'egon', 'age': 73, 'gender': 'male', 'a': '1', 'b': '2'}
      {'name': 'tank', 'age': 73, 'gender': 'male', 'a': '1', 'b': '2'}
    • fromkeys : 生产一个新字典, 第一个参数(列表),它会以第一个参数中各个元素为key,以第二个参数为值,组成一个新字典

      print(dict.fromkeys([1,2,3],'ke'))

      {1: 'ke', 2: 'ke', 3: 'ke'}
    • setdefault :key不存在新增键值对,有返回值,返回新增value,key存在返回对应的value

      d1 = {'name':'egon', 'age': 73,'gender':'male','a':"1"}

      print(d1.setdefault('name',))
      print(d1.setdefault('nameb', 123))
      print(d1)

      egon
      123       #有key的话返回对应的值。没有的话会在字典内添加新的键值对
      {'name': 'egon', 'age': 73, 'gender': 'male', 'a': '1', 'nameb': 123}

      =========================类型总结==========================

      有序or无序  : 无序

      可变or不可变  :可变类型

      存一个值or存多个值 : 存多个值

     

    集合

    ========================集合基本方法===========================

    用途: 去重、关系运算

    定义方式: 通过大括号存储数据,每个元素通过逗号分隔定义空集合,必须使用set()来定义

    l1 = []         #列表

    s1 = ""        #字符串

    d1 = {}        #字典

    ss1 = set()   #集合

    常用方法:

    合集:|

    交集:&

    差集:-

    对称差集:^

    • 集合中不可能出现两个相同的元素

      ython_student = {'egon', 'jason', 'tank', 'owen', 'egon'}
      linux_student = {'frank', 'alex', 'egon'}
      go_student = {'egon'}

      print(python_student)
      >>:{'tank', 'egon', 'jason', 'owen'}

      print(python_student | linux_student)
      >>:{'tank', 'egon', 'jason', 'owen', 'frank', 'alex'}

      print(python_student & linux_student)
      >>:{'egon'}

      print(python_student - linux_student)
      >>:{'tank', 'jason', 'owen'}

      print(linux_student - python_student)
      >>:{'frank', 'alex'}

      print(python_student ^ linux_student)
      >>:{'tank', 'jason', 'owen', 'alex', 'frank'}

      print(python_student > go_student)
      >>:True

      print(python_student < linux_student)
      >>:False
      l1 = [1, 2, 3, 1, 2, 9, 1, 5, 6, 7]
      print(l1)

      s1 = set(l1)     #把l1变成集合
      print(s1)
      print(type(s1))   #打印他的类型
      l2 = list(s1)     #转换成列表
      print(l2)
      print(type(l2))

      [1, 2, 3, 1, 2, 9, 1, 5, 6, 7]
      {1, 2, 3, 5, 6, 7, 9}
      <class 'set'>
      [1, 2, 3, 5, 6, 7, 9]
      <class 'list'>
    • 可以用for循环来看里面的值

      =========================类型总结==========================

      有序or无序 : 无序

      可变or不可变 : 可变,

      可以删除,添加,不可以更改存

      一个值or存多个值 : 存多个值

  • 相关阅读:
    ViewState ASP.NET 的一个特有存储容器
    11个高效的VS调试技巧介绍
    Entity Framework快速入门笔记第四篇—ModelFirst
    最受欢迎的ASP.NET的CMS下载
    在Visual Studio中使用GitHub(使用篇)
    数据库设计范式(转)
    SQL Server2005中的SMO编程
    在SQL Server2005中使用 .NET程序集
    对SMTP协议的一点困惑
    Windows 2003系统负载平衡策略全攻略
  • 原文地址:https://www.cnblogs.com/lishuangjian/p/11806533.html
Copyright © 2011-2022 走看看