Python学习笔记-字典

    xiaoxiao2025-08-14  5

    Python学习笔记-字典

    字典属性字典常用操作

    字典属性

    通过键而不是偏移量来读取任意对象的无序集合可变长、异构、任意嵌套属于可变映射类型对象引用表,支持键读取的无序对象引用表

    字典常用操作

    1.创建字典

    d = {} #空字典 d = {'a':2, 'b':3} #两项字典 print(d) print(d['b'])

    运行结果:

    {'a': 2, 'b': 3} 3

    2.字典嵌套

    d = {'a':2, 'b':{'aa':1, 'bb':3}} #字典嵌套 print(d) print(d['b']) print(d['b']['aa'])

    运行结果:

    {'a': 2, 'b': {'aa': 1, 'bb': 3}} {'aa': 1, 'bb': 3} 1

    3.利用fromkeys函数构造字典

    #dict.fromkeys(seq[, value]) 函数用于创建一个新字典, #以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值 d = dict.fromkeys(['a', 'b']) print(d) d = dict.fromkeys(['a', 'b'], 10) print(d)

    运行结果:

    {'a': None, 'b': None} {'a': 10, 'b': 10}

    4.利用zip函数创建字典

    #利用zip函数创建字典,dict(zip(keylist,valuelist)) D = dict(zip('abcde','12345')) print(D)

    运行结果:

    {'a': '1', 'b': '2', 'c': '3', 'd': '4', 'e': '5'}

    5.直接利用键-值创建字典

    #直接利用键-值创建字典 D = dict(name='Bob', age='22') print(D)

    运行结果:

    {'name': 'Bob', 'age': '22'}

    6.以键进行索引

    D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) print(D) print(D['name']) #以键进行索引 print(D['family']['dad']) #以键进行索引

    运行结果:

    {'name': 'Bob', 'family': {'dad': 'Rouger', 'mon': 'Lily'}} Bob Rouger

    7.成员关系,键存在测试

    D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) if 'family' in D: print(D) if 'mon' in D['family']: print(D['family']['mon'])

    运行结果:

    {'name': 'Bob', 'family': {'dad': 'Rouger', 'mon': 'Lily'}} Lily

    8.字典的键,值

    D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) L = D.keys() #python3.0中字典的keys,values,items方法返回一个迭代器,可以用for循环遍历 for key in L: print(key) print(list(D.values())) #可以用list方法显示生成一张列表。3.0里支持 print(D.items()) #运行结果可以与前两项对比

    运行结果:

    name family ['Bob', {'dad': 'Rouger', 'mon': 'Lily'}] dict_items([('name', 'Bob'), ('family', {'dad': 'Rouger', 'mon': 'Lily'})])

    9.创建字典副本

    D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) D2 = D.copy() print(D2) D2['name'] = 'Hill' print(D) print(D2)

    运行结果:

    {'name': 'Bob', 'family': {'dad': 'Rouger', 'mon': 'Lily'}} {'name': 'Bob', 'family': {'dad': 'Rouger', 'mon': 'Lily'}} {'name': 'Hill', 'family': {'dad': 'Rouger', 'mon': 'Lily'}}

    10.返回默认值 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值。

    D = dict(name='Bob', family={'dad':'Rouger', 'mon':'Lily'}) print(D.get('n1', 'None'))

    运行结果

    None

    11.合并

    D1 = dict(a=1,b=2) D2 = dict(c=3,d=4) print(D1) print(D2) D1.update(D2) print(D1)

    运行结果:

    {'a': 1, 'b': 2} {'c': 3, 'd': 4} {'a': 1, 'b': 2, 'c': 3, 'd': 4}

    12.pop删除字典键值

    d = dict(a=1,b=2,c=3,d=4) val = d.pop('a') print('val={}, d={}'.format(val,d)) val2 = d.pop('r','del fail') #删除失败,返回默认值,pop(key[,default]) print('val2={}, d={}'.format(val2,d))

    运行结果:

    val=1, d={'b': 2, 'c': 3, 'd': 4} val2=del fail, d={'b': 2, 'c': 3, 'd': 4}

    13.获取字典元素个数

    d = dict(a=1,b=2,c=3,d=4) val = len(d) print('val={}, d={}'.format(val,d))

    运行结果:

    val=4, d={'a': 1, 'b': 2, 'c': 3, 'd': 4}

    14根据键删除字典元素

    d = dict(a=1,b=2,c=3,d=4) del d['a'] print('d={}'.format(d))

    运行结果:

    d={'b': 2, 'c': 3, 'd': 4}

    15.字典解析

    d = {x: x*2 for x in range(10)} print('d={}'.format(d))

    运行结果:

    d={0: 0, 1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}
    最新回复(0)