【python Dict】 python 字典操作

python字典

是一个无序、以键值对存储的数据类型,数据关联性强、唯一一个映射数据类型。键:必须是可哈希(不可变的数据类型:字符串、数字、元组、bool)值,并且是唯一

None: none 是一个空对象,none是一个特殊的数据类型。而“ ”,双引号中间一个空格,是一个字符串对象

字典方法:

dic={“name” = ‘Alex’’,'sex'= 'men'} up = {'name': ‘ritian’, 'sex':'men','job':'it' }

  (1)第一种方法:直接dic["name"] = 20,这种方法,如果该键已存在,则会覆盖之前的值

  (2) 第二种方法:setdefault(k,v),字典调用该函数,参数“k”为必填,“v”如果不填写默认为None,这个函数的作用可以避免覆盖已存在的键。

  (3)dict()方法:作用:dict() 函数用于创建一个字典。返回一个字典。

       语法:

          class dict(**kwarg)
          class dict(mapping, **kwarg)
          class dict(iterable, **kwarg)

       参数说明:

        • **kwargs -- 关键字
        • mapping -- 元素的容器。
        • iterable -- 可迭代对象
        • 1 >>>dict()                        # 创建空字典
          2 {}
          3 >>> dict(a='a', b='b', t='t')     # 传入关键字
          4 {'a': 'a', 'b': 'b', 't': 't'}
          5 >>> dict(zip(['one', 'two', 'three'], [1, 2, 3]))   # 映射函数方式来构造字典
          6 {'three': 3, 'two': 2, 'one': 1} 
          7 >>> dict([('one', 1), ('two', 2), ('three', 3)])    # 可迭代对象方式来构造字典
          8 {'three': 3, 'two': 2, 'one': 1}
          >>> d = dict([('two', 2), ('one', 1), ('three', 3)], four=4, five=5)
          >>> e = dict({'three': 3, 'one': 1, 'two': 2}, four=4, five=5)

删:

  (1)第一种:dic.pop(''sex",None), pop 函数参数为必填,'sex'参数为字典的键,如果键不存在则会报错.第二个参数选填,如果不填写第二个参数,删除的键不存在则会报错,如果加上"None"参数,找不到删除的键,不会报错,返回None

  如果字典为空情况下使用该函数,字典为空时报错 

  (2)第二种:dic.popitem() 该函数不必填写参数,会随机删除一个键值对,且有返回值以元组的方式返回(a,b):a代表键,b代表值。如果字典为空情况下使用该函数,报错,

  (3)第三种:dic.clear(),该函数不必填写参数,清空字典。

  (4)第四种:del dic['name'] ,如果删除的键不存在报错

改:

  (1)第一种:dic['name'] = 'ritian'

   (2) 第二种: dic.update(up),update函数,up字典添加并覆盖dic

dic = {"name":'alex','job':'changping'}
up = {"name":'ritian','job':'changping','sex':'men'}
print(dic.update(up))
None

下面为正确的方法输出:
dic.update(up)
print(dic)
{'name': 'ritian', 'job': 'changping', 'sex': 'men'}

查:

  (1)第一种: dic.get('name',None), 该函数,如没有找到该键对应的值,返回None,第二个参数可以自己指定,默认返回None

  (2)第二种:print(dic['name'])

   ( 3 ) 第三种:如下

up = {"name":'ritian','job':'changping','sex':'men'}


for i in up:  #第一种取出字典的key值
    print(i)
for key in up.keys():  #第二种取出字典的key值
    print(key)

for value in up.values():  #取出value
    print(value)

 (4)第四种:

for key , value  in up.items():#up.items()返回可遍历的(键、值)元组数组
    print(key,value)  #key/value 分别赋值输出

 (5)第五种:

    ‘ritian’ in up   

 (6)第六种:

for i in up.items():
    print(i)
#输出的元组(里面有键、值)

len(d) 返回字典中有多少项