zoukankan      html  css  js  c++  java
  • 二. python字典

    一. 字典

            字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改

    字典是另一种可变容器模型,且可存储任意类型对象。
    字典的每个键值(key=>value)对用冒号(:)
    分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示
    键必须是唯一的,但值则不必。
    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
    字典存储数据是无序的存储
    # 一个简单的字典实例:
    dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

      # 创建字典:
      dict1 = { 'abc': 456 };
      dict2 = { 'abc': 123, 98.6: 37 };

    1.元素的访问

    # 元素的访问
    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    print(dict["Name"]) #Runoob     没有就会报错
    print(dict.get("Name"))  #Runoob  如果字典有就获取到这个元素   没有也不会报错

    2.添加

    # 添加
    dict1= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    dict1["age"]=22
    print(dict1)  #{'age': 22, 'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

    3. 修改

    # 修改
    dict2= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    dict2["Class"]=10000
    print(dict2)    # {'Class': 10000, 'Name': 'Runoob', 'Age': 7}

    3.删除字典元素 clear  del

    # 删除字典元素
    # 能删单一的元素也能清空字典,清空只需一项操作。
    # 显示删除一个字典用del命令,如下实例:
    
    dict3 = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    
    del dict['Name'] # 删除键 'Name'
    dict.clear()     # 清空字典
    del dict         # 删除字典

    4.字典遍历 

    # 字典遍历
    
    dict6= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    for key in dict6:
        print(key) 
    
    # Class
    # Age
    # Name
    ict4= {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    for key in dict4:
        print(key,dict4[key])
    # Age 7
    # Class First
    # Name Runoob
    dict7= {'Name': 'Runoob', 'Age': 22, 'Class': 'First'}
    for value in dict7.values():
       print(value)
    #    22
    # Runoob
    # First
    dict8= {'Name': 'Runooeeeeeb', 'Age': 22, 'Class': '哈哈哈哈哈'}
    for k,v in dict8.items():
      print(k,v)
    # Name Runooeeeeeb
    # Age 22
    # Class 哈哈哈哈哈

    5.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列

    # enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,
    # 同时列出数据和数据下标,一般用在 for 循环当中。
    # enumerate(sequence, [start=0])
    # 参数
    # sequence -- 一个序列、迭代器或其他支持迭代对象。
    # start -- 下标起始位置。
    
    dict10= {'Name': 'RAAAAAA', 'Age': 220000, 'Class': '哈哈哈哈AAAA哈'}
    for k,v in enumerate(dict10):
        print(k,v)
    # 0 Age
    # 1 Class
    # 2 Name

    字典和list列表比较
    字典 :查找和插入的速度极快 不会随着key value 增加而加慢
    需要占用大量的内存


    list
    查找和插入的速度随着数据的增多而 速度会减慢
    占用空间小 浪费的内存少

     
  • 相关阅读:
    mysql 数据类型学习笔记(持续更新)
    datetime 和 timestamp 的区别
    Jupyter notebook 常用快捷键(持续更新)
    遍历SnoMed的multiHierarchy中给定概念的子概念
    Ramdom Walk with Restart
    矩阵和向量
    power-law
    一些SQL操作(收集)
    MySQL5.7.19-win64安装启动
    OO_UNIT1_SUMMARY
  • 原文地址:https://www.cnblogs.com/Sup-to/p/10840756.html
Copyright © 2011-2022 走看看