python之词典(dict)数据类型

一:基本格式:

myChat = { 'size': 'fat' , 'color':'gray' , 'disposition':'loud' }

其中,'size','color','disposition'是键;'fat'、'gray'、'loud'是键对应的数值。

类似于C++中的map<key,value>与map不同的是,字典本身是不具备排序功能的

二:keys() 、values() 、 items()方法

例子:

 spam = { 'color':'red'  ,  'age':42 }

keys() -------- 字典的键

数据类型:dict_keys

spam.keys()

答案:dict_keys(['color' , 'age'])

list(spam.keys())

答案:['color' , 'age']


values() --------- 字典的值

for k in spam.keys():

     print(k)

答案:

color

age


数据类型:dict_values

for v in spam.values():

     print(v)

答案:

red

42

items() ---------- 字典的键-值

数据类型:dict_items

for i in spam.items():

     print(i)

答案:

('color' , 'red')

('age' , 42)

三:检查字典中是否存在键或值

spam = {'name':'Zophie','age':7}
'name' in spam.keys()

答案:True

'Zophie' in spam.values()

答案:True

'color' in spam.keys()

答案:False

'color' not in spam.keys()
答案:True


四:get()方法

有两个参数:(1)要取得其值得键(2)如果该键不存在,返回的备用值

例子;

picnicItems = {'apple':5 , 'cups':2}
>>>'I am bringing' + str(picnicItems.get('cups',0)) + 'cups'

答案:I am bringing 2 cups

>>>'I am bringing' + str(picnicItems.get('eggs',0)) + 'cups'

答案:I am bringing 0 cups

五:setdefault()方法

你常常需要为字典中某个键值设置一个默认值,当该键没有任何价值时使用它。

代码看起来好像是这个样子的:

spam = {'name':'Pooka' , 'age':5}
if 'color'not in spam:
    spam['color'] = 'black'

setdefault()方法提供了一种方式,在一行中完成这件事。

传递给该方法的参数:

(1)要检查的键

(2)如果该键不存在时,要设置的值

如果该键确实存在,方法就会返回键的值。

以下是简单例子:

>>> spam = {'name':'Pooka' , 'age':5}
>>> spam.setdefault('color','black')
'black'
>>> spam
{'color':'black' , 'age':5 , 'name':'Pooka' }
>>> spam.setdefault('color','white')
'black'
>>> spam
{'color':'black' , 'age':5 , 'name':'Pooka' }

例子解释:

    第一次调用setdefault()时,spam变量中的字典变为{'color':'black' , 'age':5 , 'name':'Pooka' },该返回值'black'。因为现在改值被赋给键'color'。

当spam.setdefalut('color','write')接下来被调用时,该键的值“没有”被改变成'write'。因为spam变量已经有名为'color'的键了。



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糯诺诺米团

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值