字典类型

字典类型

=基本使用=
1、用途:按照属性存放多个值

2、定义方式:在{}内用逗号分隔开多个key:value

​ 其中value可以是任意类型

​ 而key必须是不可变的类型,通常为字符串类型,并且key不能重复

#列表为不可变类型所以报错
>>> d = {111:"xxx",3.1:"yyy",[1,2,3]:"zzz"}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
#key不可重复,否则会覆盖
>>> d = {'k1':'qqq','k1':'www'}
>>> print(d)
{'k1': 'www'}

dict = {'name':'xiaoyunwei','age':'23'} #dic = dict(....)

#数据类型转换
>>> t = [('name','xiaoyunwei'),('age',23)]
>>> res = dict(t)
>>> print(res)
{'name': 'xiaoyunwei', 'age': 23}

>>> res = dict(a=1,b=2,c=3)
>>> print(res)
{'a': 1, 'b': 2, 'c': 3}

#fromkeys(批量生成key)
>>> keys = ['name','age','gender']
>>> re = {}.fromkeys(keys,None)
>>> print(re)
{'name': None, 'age': None, 'gender': None}

3、常用操作+内置方法

# 1、按key存取值:可存可取
	#取值
    dict = {'name':'xiaoyunwei','age':'23'} 
    print(dict['name'])
    #get判断key值是否存在(通常引用别人的程序的时候用get)
    res = dict.get('name')
    pring(res)
	#存值(key不存在新蹭,存在则改值)
    >>> dict['gender'] = 'woman'
	>>> print(dict)
	{'name': 'xiaoyunwei', 'age': '23', 'gender': 'woman'}

# 2、长度len
>>> print(len(dict))
3

# 3、成员运算in 和not in
>>> print('name' in dict)
True
>>> print('worker' in dict)
False

# 4、删除 
	#方式一:
	>>> del dict['name']
	>>> print(dict)
	{'age': '23', 'gender': 'woman'}

    #方式二:pop指定key删除,返回删除的value
    >>> dict = {'name':'xiaoyunwei','age':'23'}
    >>> res = dict.pop('name')
    >>> print(res)
    xiaoyunwei

    #方式三:popitem
    >>> dict = {'name':'xiaoyunwei','age':'23'}
    >>> res = dict.popitem()
    >>> print(res)
    ('age', '23')

    
# 5、键keys(),值values(),键值对items()---主要是服务循环
>>> dict.keys()
dict_keys(['name', 'age'])
>>> dict.values()
dict_values(['xiaoyunwei', '23'])
>>> dict.items()
dict_items([('name', 'xiaoyunwei'), ('age', '23')])
>>>

# 6、循环
dict = {'name':'xiaoyunwei','age':'23'}
for k in dict.keys():
    print(k)
name
age

dict = {'name':'xiaoyunwei','age':'23'}
for v in dict.values():
    print(v)
xiaoyunwei
23

dict = {'name':'xiaoyunwei','age':'23'}
for k,v in dict.items():
    print(k,v)
name xiaoyunwei
age 23

3.1 需要掌握

#update()
dic = {'k1':111,'k2':2222}
dic.update({'k2':444,'k3':555})
print(dic)
{'k1': 111, 'k2': 444, 'k3': 555}

#setdefault()
dic = {'age':23}
res = dic.setdefault('name','xiaoyunwei')
print(dic)
{'age': 23,'name': 'xiaoyunwei'}

=该类型总结=
存多个值

无序

可变(1、可变:值变,id不变。可变=不可bash 2、不可变:值变,id就变。不可变=可bash)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值