• python3学习笔记七(字典)


    参照http://www.runoob.com/python3/python3-dictionary.html

    • 字典

    字典是另一种可变容器模型,且可以存储任意类型对象。

    dict1 = {key1:value1,key2:value2}

    注意:键key是唯一的,但是值不用,值可以是字符串、数字或元组。

    dict2 = {'a':1,'b':'12'}

    dict3 = {'Name':'jack','Age':'22','Class':'first'}
    print("dict3['Name']: ",dict3['Name']) #访问字典中的值
    print("dict3['Age']: ",dict3['Age'])

    dict3['Age'] = 20
    dict3['School'] = 'python' #修改字典
    print("dict3['Age']: ",dict3['Age'] )
    print("dict3['School'] ",dict3['School'])

    del dict3['Name'] #删除字典中的元素
    print(dict3)
    dict3.clear()
    # del dict3 删除字典
    print(dict3)


    字典值的特性:
    不允许一个键出现两次;
    键必须不可变,可以用数字、字符串或元组,但是列表不行。
    • 字典内置函数&方法

    内置方法如下:

    #radiansdict.clear()  删除字典内所有元素
    dict4 = {'name':'bob','age':19}
    print(dict4)
    dict4.clear()
    print(dict4)
    print(len(dict4))
    #radiansdict.copy() 返回一个字典的浅复制
    dict5 = {'name':'bob','age':19,'class':'two'}
    dict6 = dict5.copy()
    print('新复制的字典是: ',dict6)
    '''
    #radiansdict.fromkeys()
    # 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    seq -- 字典键值列表。
    value -- 可选参数, 设置键序列(seq)的值。
    '''
    dict5 = {'name':'bob','age':19,'class':'two'}
    dict7 = dict5.fromkeys(dict5)
    print('新的字典是: %s' % str(dict7))
    dict8 = dict5.fromkeys(dict5,10)
    print('新的字典是: %s' % str(dict8))

    # radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
    dict5 = {'name':'bob','age':19,'class':'two'}
    print('age的值是: %s' % dict5.get('age'))
    print('sex的值是: %s' % dict5.get('sex','na'))
    # key in dict 如果键在字典dict里返回true,否则返回false
    dict5 = {'name':'bob','age':19,'class':'two'}
    if 'age' in dict5:
    print('age键存在')
    else :
    print('age键不存在')
    if 'sex' in dict5:
    print('sex键存在')
    else :
    print('sex键不存在')
    # not in 同理可知

    # radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组
    print("value : %s" % dict5.items())

    # radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表
    dict5.keys()
    print(list(dict5.keys()))

    '''
    radiansdict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    key -- 查找的键值。
    default -- 键不存在时,设置的默认键值。

    '''
    print("age键的值是 :%s" % dict5.setdefault('age',None))
    print("sex键的值是 : %s" % dict5.setdefault('sex',None))

    print("新字典是: ", dict5)



    # radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里
    dict5 = {'name':'bob','age':19,'class':'two'}
    dict7 = {'sex':'male'}
    dict5.update(dict7)
    print("更新字典dict5: ", dict5)

    # radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表
    print("字典所有值是: ", list(dict5.values()))

    # pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    dict5 = {'name':'bob','age':19,'class':'two'}
    pop_obj = dict5.pop('name')
    print(pop_obj)


    # popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。
    dict5 = {'name':'bob','age':19,'class':'two'}
    pop_obj = dict5.popitem()
    print(pop_obj)
    print(dict5)
     


    若长生难求以命为注 方冥冥如悟因果殊途 --《长生》
  • 相关阅读:
    为cocos2d-x实现安卓输入框。非全屏,无dialog,绑定到lua
    自己动手,丰衣足食。普通键盘实现键盘宏(Windows和Mac版)
    go语言使用protobuf
    go语言使用redis —— redigo
    go语言实现线程池
    go语言实现的目录共享程序
    ss
    BST
    堆排序—最大优先级队列
    STL_Vector
  • 原文地址:https://www.cnblogs.com/hc1hr2/p/10062864.html
Copyright © 2020-2023  润新知