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)

 

posted @ 2018-08-01 15:02  sado  阅读(449)  评论(0编辑  收藏  举报