zoukankan      html  css  js  c++  java
  • python 日常学习3-------字典

        字典是python语言中唯一的映射类型。字典对象是可变得,他是一个容器类型,

    能存储任意个数的python对象,其中也包括其他容器类型,如列表。

    简单来说,字典就是i用大括号包裹的键值对的集合,如下:

    dictionary = {}  

    或者  dictionary = {key1:value1,key2:value2,}

    其特点是:

    1,键与值用冒号:分开。

    2.项与项用逗号,分开。

    3,字典中的键必须是唯一的,而值可以不唯一。

    ------------------------------------------------------------字典的操作方法------------

    定义一个字典:
    info = {
    'student001':'xiaoming',
    'student002':'xiaohong',
    'student003':'xiaohua',
    'student004':'xiaofang'
    }

    #初始化一个字典 .fromkeys方法,不适合用创建多层字典。
    c = dict.fromkeys([6,7,8],'test')
    print(c)
    输出student001对应的value值
    print(info['student001'])

    #修改字典内的内容,根据key,查找修改字典内的数据,如果存在则修改,不存在就添加
    #如下代码会把info字典里key值为student001对应的value修改为小明,
    info['student001'] = '小明'

    #如下代码会添加一条数据,因为字典中不存在student005这个key。
    info['student005'] = '小孩'

    #删除
    del info['student005']
    #info.pop('student005')

    #如下代码回随机删除字典里的一组数据,一般不会用
    info.popitem()

    #查找,get 方法查找时,有则返回对应的value,没有则返回none,不会报错
    info.get('student002')

    #判断字典是否存在key,会返回true,false
    print('student013' in info)
    print(info.keys())
    -----------------------------------------字典遍历----------
    # 字典的循环  第一种循环方式比第二种高效。
    for i in av_catlog:
    print(i,av_catlog[i])
    for k,value in av_catlog.items():
    print(k,value)

    #dict
    '''
    数据类型分为:可变数据类型、不可变数据类型
    不可变数据类型: 元组,bool,int,str.                   这类数据可哈希。
    可变数据类型: 列表(list)、字典(dict)   集合(set) 不可哈希
    dict 的key 必须是不可变数据类型。value 的值,任意数据类型
    
    dict的优势:二分查找去查询,存储大量发数据,特点是无序的。
    '''
    
    dic = {
        'name':'三光',
        'age':32,
    
    }
    #
    dic['height'] = 183   #没有键值对则添加,有则修改
    
    #有键值对,不做任何改变,没有才添加
    #只添加键,则值默认是None
    dic.setdefault('weight')
    print(dic)
    
    #
    
    print(dic.pop('二哥','没有此键'))  #可设置返回值,没有此键时提示,且不会报错
    
    print(dic.popitem()) #随机删除,返回删除的键值对,以元组的形式
    
    #清空字典, dic.clear()
    #删除 del dic['name']
    
    #
    #把dic字典里的键值对更新到dic2中,有的更新,没有的添加。
    dic2 ={'name':'zhuzi'}
    dic2.update(dic)
    
    #
    
    for key,value in dic2.items():
        print(key,value)
    
    dic2.get('name') #如果没找到返回None,可设置返回的提示消息,
    
    #--------------嵌套------------------------
    
    dicc = {
        'name':['zhuzi','钢盔','发哥'],
        'zzxy':{
            'time':'2011',
            'zhuanye':'软件外包',
            'learn_money':8000,
        },
        'sex':''
    }
    # sex 改为nan
    dicc['sex'] = 'nan'
    
    #name列表,添加一个日天
    dicc['name'].append('日天')
    
    #name列表里的zhuzi,全改为大写
    dicc['name'][0]=dicc['name'][0].upper()
    
    #zzxy对应的字典添加一个键值对,xuenian :4
    dicc['zzxy'].setdefault('xuenian',4)
    print(dicc)
    
    #输入一串数字和字母混合的字符串,输出数字的个数,注:连在一起的数字算一个。
    info = input('>>>')
    
    for i in  info:
        if i.isalpha():
            info = info.replace(i," ")
    L = info.split()
    print(len(L))
  • 相关阅读:
    取得元素节点的默认display值
    mass Framework emitter模块 v2
    memset函数详细说明
    八大排序算法总结
    电脑很卡,怎么办?这里帮你解决
    Android APK反编译详解(附图)
    java环境变量配置
    如何使用U盘安装操作系统 安装GHOST XP, xp纯净版
    c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)
    Js apply 方法 详解
  • 原文地址:https://www.cnblogs.com/xiangrikuidebuluo/p/7814480.html
Copyright © 2011-2022 走看看