• Python小白学习之路(七)—【字典】【字典的功能】【布尔值】


    字典(dict)

    基本结构:

    d = {key1 : value1, key2 : value2 }
    dict = {'K1': 1, 'K2': 2, 'K3': '3'}
    • key : value称为字典的键值对。
    • 每个键 key和值value 之间用冒号 : 分割
    • 每个键值对(也就是字典的一个元素)之间用逗号 , 分割
    • 整个字典包括在花括号  { }  中
    • 字典是无序的(所以不存在切片)
    • 值(value)可以取任何数据类型,但键(key)必须是不可变的(列表和字典不能作为字典的key)
    • 键就相当于地址,首先得固定,而且不能重复,键一般是唯一的,如果重复最后的一个键值对会替换前面的

    字典的功能

    先给一个很长的字典(手动捂脸),这不是为难人嘛(难的都明白了,简单的不在话下)

    d = {'K1': 18, 2: True, 'K3':[11,[1,6],('a',88),22,33,{'KK1':'VV1','KK2':'VV2','KK3':'VV3'}],'K4':(11,22,33,44)}

    以下操作的针对这个长长的字典 d 的哦

    1.索引取值

    #通过索引 键(key)来获取一级元素
    v1 = d['K1']
    #通过索引来获取‘VV1’
    v2 = d['K3'][5]['KK1']
    print(v1,v2)
    
    #执行结果
    18 VV1

    2.clear

    • D.clear() -> None. Remove all items from D.
    v = d.clear()
    print(v)
    #执行结果:
    None

    3.copy

    • D.copy() -> a shallow copy of D
    v = d.copy()
    print(v)

    4.del

    #利用索引,通过del删除字典中的元素
    del d['K1']
    del d['K3'][1][1]
    print(d)

    5.for循环

    #for循环返回键(key)
    for item in d:
    print(item)
    #执行结果: K1 2 K3 K4
    #for循环返回值value
    for item in d.values():
    print(item)
    #执行结果 18 True [11, [1, 6], ('a', 88), 22, 33, {'KK1': 'VV1', 'KK2': 'VV2'}] (11, 22, 33, 44)
    #for循环同时返回键(key)和值(value)
    for k,v in d.items():
    print(k,v)
    #执行结果 K1 18 2 True K3 [11, [1, 6], ('a', 88), 22, 33, {'KK1': 'VV1', 'KK2': 'VV2'}] K4 (11, 22, 33, 44)

    6.fromkeys

    • 根据序列,创建字典,并指定统一的值
    • Create a new dictionary with keys from iterable and values set to value.
    v = dict.fromkeys(['k1','k2','k3'],666)
    print(v)
    
    #执行结果
    {'k1': 666, 'k2': 666, 'k3': 666}

    7.get

    • Return the value for key if key is in the dictionary, else default.
    • 根据key获取值,key不存在时,可以指定返回值(默认情况下返回None)
    v1 = d.get('K1')
    v2 = d.get('K2')
    v3 = d.get('K2',666)
    print(v1,v2,v3)
    #执行结果:
    18 
    None 
    666

    8. pop

    • D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
    • If key is not found, d is returned if given, otherwise KeyError is raised
    #删除指定的元素,并将删除的值返回
    d = {'k1':'v1', 'k2':'v2'}
    v = d.pop('k2')
    print(v,d)
    #执行结果 v2 {'k1': 'v1'}
    #第二个参数设置的意义:当要删除的对象不存在时,将第二个参数返回
    #当要删除的对象不存在时,而第二个参数未设置,则报错
    d = {'k1':'v1', 'k2':'v2'}
    v = d.pop('k3','不存在')
    print(v,d)
    
    #执行结果
    不存在 {'k1': 'v1', 'k2': 'v2'}

    9.popitem

    • D.popitem() -> (k, v), remove and return some (key, value) pair as a 2-tuple
    • but raise KeyError if D is empty.
    #删除字典中最后一个元素,并将删除的键和值返回
    d = {'k1':'v1', 'k2':'v2'}
    k,v = d.popitem()
    print(d,k,v)
    #执行结果:
    {'k1': 'v1'} 
    k2 
    v2

    10.setdefault

    • Insert key with a value of default if key is not in the dictionary.
    • Return the value for key if key is in the dictionary, else default.
    #设置值,如果该键存在,则不设置,获取当前key对应的值
    d = {'k1':'v1', 'k2':'v2'}
    v = d.setdefault('k1')
    print(v)
    #执行结果:
    v1
    #设置值,如果该键不存在,则设置,获取设置的key对应的值
    d = {'k1':'v1', 'k2':'v2'}
    v = d.setdefault('k3',666)
    print(v)
    #执行结果:
    666

    11.update


    更新方式一:

    #更新值,按照字典的形式,将对应key的值更新
    #如果无对应key,将该key和对应的值加入原字典
    d = {'k1': 'v1', 'k2': 'v2'}
    d.update({'k1': 'xhg', 'k2': 123, 'k3': 'v3'})
    print(d)
    #执行结果
    {'k1': 'xhg', 'k2': 123, 'k3': 'v3'}

    更新方式二:

    #按照 键=值 得形式对原字典进行更新
    d = {'k1': 'v1', 'k2': 'v2'}
    d.update(k1 = 'xhg', k2 = 123, k3 = 'v3')
    print(d)
    #执行结果
    {'k1': 'xhg', 'k2': 123, 'k3': 'v3'}

    12.in

    #判断键是否存在字典中
    d = {'k1': 'v1', 'k2': 'v2'}
    v = 'k1' in d
    print(v)
    #判断值是否存在在字典中
    v = 'v1' in d.values()
    print(v)

    关于布尔值的补充

    None    ''     ()      {}      []      0   ==>False
    其余 ==>True

  • 相关阅读:
    2019春总结作业
    2019春第十二周作业
    2019春第十一周作业
    第九周作业
    2019春第八周作业
    第七周作业
    第六周作业
    第五周作业 英文单词排序
    2019年春季学期第四周作业
    2019春第三周作业
  • 原文地址:https://www.cnblogs.com/guoruxin/p/9868969.html
Copyright © 2020-2023  润新知