python之字典的基础使用方法

有关字典的简单介绍

“”
字典的基本方法使用
“”"

  1. 字典的value可以为任何数据类型(可嵌套)
  2. 字典的键只能为不可变的数据类型(只能为不可被修改的静态数据类型)
  3. 可变类型:list,dict (内部元素可被直接修改)
  4. 不可变类型:数值型数据(int,bool,float,complex,long),字符串,元组(内部元素不允许被修改)
  5. 字典按照哈希表来保存,将键通过哈希转变为数字和value一一对应
  6. 字典元素具有无序性
  7. 通过键来取值,不能进行切片操作

======= 代码实例 =========

布尔值最好不作为键(代表0,1 易于其他键混淆,当有键名为0或1时会重复,只能保留一个)**

info = {True: 'python', 1: 'hahaha', False: 'hello', 0: 'world'}
#print(info)  # {True: 'hahaha', False: 'world'}

获取字典二级元素 11

info = {'k1': 2, 2: True, 'k3': [1, (), [], 'ert',
                                 {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (1, 2, 3, 4)}
a = info['k3'][4]['kk3'][0]
# print(a)   # 11

删除特定元素 ‘k4’ 和 ‘k3’中的’kk1’

info = {'k1': 2, 2: True, 'k3': [1, (), [], 'ert',
               {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (1, 2, 3, 4)}
del info['k4']
# print(info)
# {'k1': 2, 2: True, 'k3': [1, (), [], 'ert', {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]}
del info['k3'][4]['kk1']
# print(info)
# {'k1': 2, 2: True, 'k3': [1, (), [], 'ert', {'kk2': 'vv2', 'kk3': (11, 22)}]}

for循环获取字典元素:(因为字典的无序性,不支持while循环)

info = {'k1': 2, 2: True, 'k3': [1, 'ert',
                       {'kk1': 'vv1', 'kk2': 'vv2'}], 'k4': (1, 2, 3, 4)}

默认获取键:

for item in info:
    pass  # print(item)
# k1
# 2
# k3
# k4

获取键:

for item in info.keys():
    pass  # print(item)
# k1
# 2
# k3
# k4

获取键值对:

for i in info.items():
    pass  # print(i)
# ('k1', 2)
# (2, True)
# ('k3', [1, 'ert', {'kk1': 'vv1', 'kk2': 'vv2'}])
# ('k4', (1, 2, 3, 4))
for k, v in info.items():
    pass  # print(k, v)
# k1 2
# 2 True
# k3 [1, 'ert', {'kk1': 'vv1', 'kk2': 'vv2'}]
# k4 (1, 2, 3, 4)

获取当前字典中的所有值

info = {'k1': 3, 'k2': 'python'}
a = info.values()
# print(a)  # dict_values([3, 'python'])

根据传入的参数序列创建字典,并指定统一的值

第一个参数为键,第二个参数为值

a = dict.fromkeys(['k1', 'k2', 'k3'], (1, 2, 3))
# print(a)  # {'k1': (1, 2, 3), 'k2': (1, 2, 3), 'k3': (1, 2, 3)}

通过get方法获取值

当键不存在时返回None;后面加参数后,若键不存在,则创建参数对应的键值对,返回参数对应的值

dic = {'k1': 'v1', 'k2': 'v2'}
d = dic.get('k3')  # 不存在 默认返回None
d1 = dic.get('k3', 19)  # 若k3不存在,返回 19。
d2 = dic.get('k1', 345)  # 若k1存在,则忽略后面的参数,返回k1对应的值

删除指定键值对,且可获得被删除的键所对应的值,

若指定键不存在,可通过添加参数返回参数值

dic = {'k1': 'v1', 'k2': 'v2'}
q = dic.pop('k1')  # 指定键存在
# print(dic,q)  # {'k2': 'v2'} v1
a1 = dic.pop('k3', 'hello')  # 指定键不存在
# print(dic,a1)  # {'k1': 'v1', 'k2': 'v2'} hello

随机删除字典元素,可获取被删除键值对

(测试发现只是删除最后一个)

dic = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
x = dic.popitem()
# print(dic, x)  # {'k1': 'v1', 'k2': 'v2'} ('k3', 'v3')

设置键所对应的值,若当前键存在则不设置,获取当前键所对应的值

若当前值不存在,则按照参数设置键值对,获取当前键所对应的值

dic = {'k1': 'v1', 'k3': 'v3'}
e = dic.setdefault('k1', 22)  
# 键存在时 {'k1': 'v1', 'k3': 'v3'} v1
e1 = dic.setdefault('k6', 56) 
 # 键不存在时 {'k1': 'v1', 'k3': 'v3', 'k6': 56} 56
# print(dic, e, e1)

更新字典元素,存在的元素更新,不存在的添加

dic = {'k1': 'v1', 'k2': 'v2'}
dic.update(k1='python', k3='hello')
# print(dic)  # {'k1': 'python', 'k2': 'v2', 'k3': 'hello'}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值