Python 字典Dict内置函数与方法

Python 字典Dict内置函数与方法

1、字典

字典的每个键值 key:value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

变量 = {key1 : value1, key2: value2…}

2、特性

1)、键是唯一的,如果重复,最后的一个键值对会替换前面的,值不需要唯一。

2)、值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

3、常用方法

方法描述
dict.clear()删除字典内所有元素
dict.copy()返回一个字典的浅复制
dict.fromkeys(seq[, val])创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
dict.get(key, default=None)返回指定键的值,如果值不在字典中返回default值
dict.items()以列表返回可遍历的(键, 值) 元组数组
dict.keys()以列表返回一个字典所有的键
dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2)把字典dict2的键/值对更新到dict里
dict.values()以列表返回字典中的所有值
dict.pop(key[,default])删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
dict.popitem()返回并删除字典中的最后一对键和值。
cmp(dict1, dict2)比较两个字典元素。
len(dict)计算字典元素个数,即键的总数。
str(dict)输出字典可打印的字符串表示。

4、字典用法

1)创建空字典
# 方式一:
dict_a = dict()


# 方式二:
dict_b = {}
print('Dict:', type(dict_a), type(dict_b))

# 创建字典

# 创建字典
# 方式一
dict_b = {'a': 1, 'b': 3, 'c': 2}
print('dict_b:', dict_b)

# 方式二
dict_c = dict.fromkeys(list('abcdef'), 1)
print('dict_c:', dict_c)


# 打印结果
dict_b: {'a': 1, 'b': 3, 'c': 2}
dict_c: {'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1}

2)访问字典

print("dict_b['b']:", dict_b['b'])
print('dict_b.get:', dict_b.get('b', None))


# 打印结果
dict_b['b']: 3
dict_b.get: 3

3)字典新增元素

# 字典新增元素
dict_b['d'] = 6
dict_b['e'] = 8
dict_b.setdefault('f', 9)
print('dict_b:', dict_b)



# 打印结果
dict_b: {'a': 1, 'b': 3, 'c': 2, 'd': 6, 'e': 8, 'f': 9}

4)删除字典元素

# 删除字典元素
print('pop:', dict_b.pop('b'))
print('dict_b 0:', dict_b)

print('popitem:', dict_b.popitem())
print('dict_b 01:', dict_b)

# 删除字典元素
del dict_b['d']
print('dict_b 1:', dict_b)

# 清空字典,清空后字典为空字典
dict_b.clear()
print('dict_b 2:', dict_b)

# 删除字典对象,删除字典后无法再访问
del dict_b



# 打印结果
pop: 3
dict_b 0: {'a': 1, 'c': 2, 'd': 6, 'e': 8, 'f': 9}
popitem: ('f', 9)
dict_b 01: {'a': 1, 'c': 2, 'd': 6, 'e': 8}
dict_b 1: {'a': 1, 'c': 2, 'e': 8}
dict_b 2: {}

5)字典update方法

# 字典update方法
dict_a = {}
dict_a['H'] = 9
print('dict_a 3:', dict_a)
print('dict_c 3:', dict_c)

dict_a.update(a=10)
print('dict_a 4:', dict_a)

dict_a.update(dict_c)
print('dict_a 4:', dict_a)



# 打印
dict_a 3: {'H': 9}
dict_c 3: {'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1}
dict_a 4: {'H': 9, 'a': 10}
dict_a 4: {'H': 9, 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1}

5、遍历字典

# 方式一:
for key in dict_a:
    # 默认是遍历字典的key
    print(key, dict_a[key])

# 方式二:与方式一等价
for key in dict_a.keys():
    print(key, dict_a[key])

# 方式三:
for key, value in dict_a.items():
    print(key, value)

# 方式四:遍历字典中的值(不含键)
for value in dict_a.values():
    print(value)

6、字典合并

dict_c = {'ccc': 666}
print('dict_a:', dict_a)
print('dict_c:', dict_c)

# 方式一:
dict_d = {}
dict_d.update(dict_a)
dict_d.update(dict_c)
print('dict_d 101:', dict_d)

# 方式二:
dict_d = dict_a.copy()
dict_d.update(dict_c)
print('dict_d 102:', dict_d)

# 方式三:
dict_d = dict(dict_a)
dict_d.update(dict_c)
print('dict_d 103:', dict_d)

# 方式四:
dict_d = {k: v for d in [dict_a, dict_c] for k, v in d.items()}
print('dict_d 104:', dict_d)

# 方式五:
dict_d = dict(list(dict_a.items()) + list(dict_c.items()))
print('dict_d 105:', dict_d)

# 方式六:
dict_d = {**dict_a, **dict_c}
print('dict_d 106:', dict_d)

# 方式七:
dict_d = dict(dict_a.items() | dict_c.items())
print('dict_d 107:', dict_d)



# 打印结果
dict_a: {'H': 9, 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1}
dict_c: {'ccc': 666}
dict_d 101: {'H': 9, 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1, 'ccc': 666}
dict_d 102: {'H': 9, 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1, 'ccc': 666}
dict_d 103: {'H': 9, 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1, 'ccc': 666}
dict_d 104: {'H': 9, 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1, 'ccc': 666}
dict_d 105: {'H': 9, 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1, 'ccc': 666}
dict_d 106: {'H': 9, 'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1, 'f': 1, 'ccc': 666}
dict_d 107: {'a': 1, 'b': 1, 'd': 1, 'H': 9, 'e': 1, 'ccc': 666, 'f': 1, 'c': 1}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值