zoukankan      html  css  js  c++  java
  • python之变量的数据类型(3)dict 及解构简单介绍

    一、变量的数据类型(3)

      1. dict

      字典dict 用{}来表示 键值对数据 {key:value} 唯一性

      键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键

      值 没有任何限制


      2.增删改查

      增加

        dic[key] = value

        dic.setdefault(key,value) 如果键在字典中存在不进行任何操作,否则就添加

        可以通过key查询,没有这个key返回None

      删除

        pop(key) 有返回值 返回的是被删除value
        del dic[key]
        popitem() 随机删除
        clear() 清空字典


      修改

        dic[key] = value
        dic.update(字典)

      查询

        get(key)
        dic[key]
        for 循环
        setdefault(key)

      字典的其他操作:

        keys 获取到所有的键存在一个高仿的列表中

        values 获取到所有的值存在一个高仿的列表中

        items 获取到所有的键值对已元祖的形式存在一个高仿的列表中

      字典的嵌套:

      列:

        dic = {
          'name':'汪峰',
          'age':43,
          'wife':{
          'name':'国际章',
          'age':39,
          'salary':100000
        },
        'baby':[
          {'name':'熊大','age':18},
          {'name':'熊二','age':15},
           ]

        }

    二、解构

      解构是将后边解构打开按位置赋值给变量 

      支持 字符串 列表 元组

    例子练习:

     一、将字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....}  

      利用解构来将字典里面对应的键值对输入,也可以使用切片方法。

      代码如下:

      

     1 s = "k:1|k1:2|k2:3|k3:4"
     2 new = {}
     3 s = s.split("|")
     4 # for i in s :
     5 #     s =i.split(":")
     6 #     new[s[0]]=int(s[1])
     7 # print(new)
     8 for i in s:
     9     a,b=i.split(":")
    10     new[a] = int(b)
    11 print(new)

    二、元素分类有如下值li= [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

      即: {'k1': 大于66的所有值列表, 'k2': 小于66的所有值列表}

      代码如下:

      

    1 li= [11,22,33,44,55,66,77,88,99,90]
    2 new = {"k1":[],"k2":[]}
    3 for i in li :
    4     if i > 66:
    5         new.setdefault("k1").append(i)
    6     elif i < 66:
    7         new.setdefault("k2").append(i)
    8 print(new)
  • 相关阅读:
    写一个工具生成数据库实体类
    自己写一个java的mvc框架吧(三)
    自己写一个java的mvc框架吧(二)
    自己写一个java的mvc框架吧(一)
    手把手教你写一个java的orm(完)
    JavaEE系列之(二)commons-fileupload实现文件上传、下载
    JavaEE系列之(一)JSP基础知识详解
    Servlet---JavaWeb技术的核心基础,JavaWeb框架的基石(二)
    Servlet---JavaWeb技术的核心基础,JavaWeb框架的基石(一)
    cygwin简介及使用
  • 原文地址:https://www.cnblogs.com/qq631243523/p/9401314.html
Copyright © 2011-2022 走看看