zoukankan      html  css  js  c++  java
  • python学习Day05--字典

    【主要内容】

    1. dict
    用大括号{} 括起来. 内部使用key:value的形式来保存数据
    {'jay':'周杰伦', "jj":'林俊杰'}
    注意:字典的key必须是可哈希的. 不可变的, value 没有限制
    不是按照我们保存的顺序保存的, 无序的
    2. 增删改查
    1. dict[不存在的key] = value, setdefault()
    2. pop(key). del dict[key]. popitem(), clear()
    3. dict[存在的key] = 新值, d1.update(d2) 把d2的k-v更新到d1中
    4. get(key, 默认值), setdefault(), dict[key]
    3. 字典的常用方法
    1. keys() 返回所有字典的key的集合(高仿列表)
    2. values() 返回所有的value的集合
    3. items() 返回键值对. 元组
    解构:
    a, b = (1, 2)

    4. 字典的嵌套

    【代码】

    1、字典的常用操作

     1 dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}
     2 # print(dic.keys())   # 拿到所有的key, 返回key的集合. 像是列表. 但是不是列表
     3 #
     4 # for key in dic.keys():  # 可以进行迭代循环
     5 #     print(key)
     6 
     7 # print(dic.values())
     8 # for value in dic.values():
     9 #     print(value)
    10 # dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}
    11 # print(dic.items())  # 拿到键值对
    12 # # 遍历dict
    13 # for k, v in dic.items():
    14 #     print(k , v)
    15 
    16 
    17 
    18 # for k, v in dic.items():
    19 #      # = item # (key, value)
    20 #     # print(item) # (key, value)
    21 #     print(k,v)
    22 
    23 # 解构 . 解包
    24 # a, b = (1, 2)
    25 # print(a)
    26 # print(b)
    27 
    28 # a, b, c = ("马化腾", "马云", "马良")
    29 # print(b)
    30 
    31 # a, b = [1, 2]
    32 # print(a, b)

    2、字典的嵌套

     1 dic = {
     2     "name":"汪峰",
     3     "age": 58,
     4     "wife":{
     5         "name":"国际章",
     6         "salary": 180000,
     7         "age": 37
     8     },
     9     "children":[
    10         {"name":"老大", "age": 18},
    11         {"name":"老二", "age": 118}
    12     ]
    13 }
    14 print(dic["children"][1]["age"])
    15 
    16 print(dic["wife"]['salary'])

    3、字典的for循环

    1 dic = {1: 'a', 2:'b', 3:'c'}
    2 for a in dic:   # 直接循环字典.拿到的是key
    3 
    4     print(a)
    5     print(dic[a])

    4、作业与练习

     1 '''
     2 # 把班级学生数学考试成绩录入到一个列表中,并求平均值,要求录入的时候要带着学生姓名和成绩,例如:张三_44
     3 lst=[]
     4 while 1:
     5     stu = input("请输入学生姓名和成绩(姓名_成绩),输入Q或q退出录入:")
     6     if stu.upper() == 'Q':
     7         break
     8     lst.append(stu)
     9 sum=0
    10 for el in lst:
    11     li=el.split("_")
    12     sum+=int(li[1])
    13 print(sum/len(lst))
    14 
    15 #*****************本次内容练习**********************
    16 dic={"及时雨":"宋江","易大师":"剑圣","维恩":"暗影猎手"}
    17 for k,v in dic.items():
    18     print(k,v)
    19 '''
    20 dic={
    21     "name":"汪峰",
    22     "age":58,
    23     "wife":{
    24         "name":"国际章",
    25         "salay":18000,
    26         "age":37
    27     },
    28     "children":[
    29         {"name":"老大","age":18} ,
    30         {"name":"老二","age":8}
    31     ]
    32 }
    33 print(dic["children"][1]["age"])
  • 相关阅读:
    vim删除以#,空格开头的行
    Element-ui 中对表单进行验证
    VUE页面实现加载外部HTML方法
    vue-cli2嵌入html
    文字环绕图片
    LocalDate计算两个日期相差天数
    springboot+vue脚手架使用nginx前后端分离
    通过 Netty、ZooKeeper 手撸一个 RPC 服务
    Spring Native 项目,把 Spring 项目编译成原生程序!
    印象笔记吐槽
  • 原文地址:https://www.cnblogs.com/fengxb1213/p/12290625.html
Copyright © 2011-2022 走看看