python中字典的基础知识

# -*- coding: utf-8 -*-
__author__ = '木之易'
__date__ = '2018/7/23 20:10'

# 字典 容器类,可以用来存放数据,是以key:value的形式进行存储的,并且key在字典中具有唯一性,字典中存储的数据是无序的,字典中的增删改查操作都可以通过key完成
# key必须是不可变类型的,字符串、数字、元组都是不可变的,推荐使用字符串
# 1.字典添加数据,如果字典中没有这个key,就添加这个key和值
# 2.字典修改数据,如果字典中有这个key,修改这个key对应的值
# 3.字典删除数据
# 3.1 根据key删除数据 del dict1['age']
# KeyError: 'xxx' 删除的时候,如果出现类似错误,是因为字典没有个key
# 3.2 使用pop(key) 移出字典对应key的值 age = dict1.pop('age')
# 3.3 使用popitem() 移出字典中的某个key,value  返回一个元组(不可变列表)
# 3.4 使用clear()函数 将字典中所有的元素清除 dict1.clear()
# 4.查询字典中数据
#  4.1 根据key取出字典中对应的值 若key不存在,会触发KeyError: 'xxx'异常错误
#  4.2 get()函数 根据key取字典中的值,若key不存在,不会触发异常,返回一个默认的None值
#  可以指定当key不存在时,返回一个指定的值 result = dict1.get('qwer', '指定的值')
#  4.3 获取字典中所有的key和value
# for循环直接遍历字典,遍历得到的是字典中key 根据key取出字典中的值

dict1 = {'name': '张三', 'age': 22}
for key in dict1:
    value = dict1[key]
    print('key:%s  value:%s' % (key, value))
>>>key:name  value:张三
>>>key:age  value:22

# 4.4 遍历字典.items()
for item in dict1.items():
    # item  ('name', '李四')是一个包含了key和value的元组
    print('key:%s  value:%s' % (item[0], item[1]))
>>>key:name  value:张三
>>>key:age  value:22

# keys()获取字典中所有的key 返回一个列表

keys = dict1.keys()
for key in keys:
    print(key)
>>>name
>>>age

# values()获取字典中所有的value  返回一个列表
values = dict1.values()
for value in values:
    print(value)
>>>张三
>>>22

# --------------------字典 dict

# clear()       移除字典中所有数据
# copy()        拷贝字典
# fromkeys()
# get()         根据key取出值,若key不存在,返回默认值
# items()       获取字典中所有的key,value,返回[(key,value),]
# keys()        获取字典所有的key
# pop()         根据key移出值
# popitem()     移出字典中某个key和值,返回(key,value)
# setdefault()
# update()
# values()      获取字典所有的value

# 1.fromkeys() 根据一些key,添加到字典中,并返回一个新的字典,若不指定值,默认为None
# 1.1 存放key的可迭代对象
# 1.2 key对应的值,指定的值
keys = ['phone', 'sex']
dict1 = dict1.fromkeys(keys, 110)
print(dict1)
>>>{'phone': 110, 'sex': 110}

# 2.setdefault()
# 2.1 要设置值的key
# 2.2 指定的默认值,若不指定,默认为None
# 等同于 dict1['name'] = '张三'
dict1.setdefault('name', '张三')
print(dict1)
>>>{'phone': 110, 'sex': 110, 'name': '张三'}

# 3.update() 若A中有B中的key,将数据更新为B中key对应的值,若没有则添加
dict2 = {'age': 22, 'phone': 120}
dict1.update(dict2)
print(dict1)
>>>{'phone': 120, 'sex': 110, 'name': '张三', 'age': 22}

你可能感兴趣的:(python)