Python.字典.随手记

字典是一个无序、可变和有索引的集合。在 Python 中,字典用花括号{}编写,拥有键和值。

查找数据:

In [1]: a={'hh':18,'qqa':21,'xia':3}

In [2]: a
Out[2]: {'hh': 18, 'qqa': 21, 'xia': 3}

In [3]: #字典没有顺序,查找用key值
   ...: a['qqa']
Out[3]: 21

In [4]: #查找'xia'
   ...: 'xia' in a
Out[4]: True

In [5]: #不能查找value值
   ...: 18 in a
Out[5]: False

更改数据:

In [1]: a={'hh':18,'qqa':21,'xia':3}

In [2]: a['qqa']=38

In [3]: a
Out[3]: {'hh': 18, 'qqa': 38, 'xia': 3}

删除数据与列表类似(pop),不同之处是字典没有顺序,pop函数里必须有数据,如pop('qqa')。

增加数据:

In [1]: a={'hh':18,'qqa':21,'xia':3}

In [2]: a['sex']='nv'

In [3]: a
Out[3]: {'hh': 18, 'qqa': 21, 'xia': 3, 'sex': 'nv'}

字典进阶用法

1. 分别查找所有key值和value值

In [1]: a={'hh':18,'qqa':21,'xia':3}

In [2]: #所有key值
   ...: a.keys()
Out[2]: dict_keys(['hh', 'qqa', 'xia'])

In [3]: #所有value
   ...: a.values()
Out[3]: dict_values([18, 21, 3])

2. 同时查找所有key值和value值

In [1]: a={'hh':18,'qqa':21,'xia':3}

In [2]: a.items()
Out[2]: dict_items([('hh', 18), ('qqa', 21), ('xia', 3)])

3. get  D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.

In [1]: a={'hh':18,'qqa':21,'xia':3}

In [2]: #查找到'qqa',返回对应值
   ...: a.get('qqa',44)
Out[2]: 21

In [3]: #查找不到'qq',返回指定值
   ...: a.get('qq',44)
Out[3]: 44

In [4]: a
Out[4]: {'hh': 18, 'qqa': 21, 'xia': 3}

4. setdefault   D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D(与get类似,不同之处是查找不到就赋值)

In [1]: a={'hh':18,'qqa':21,'xia':3}

In [2]: a.setdefault('qqa',44)
Out[2]: 21

In [3]: a.setdefault('qq',44)
Out[3]: 44

In [4]: a
Out[4]: {'hh': 18, 'qqa': 21, 'xia': 3, 'qq': 44}

5. 字典也可以集合化

In [1]: a={'hh': 18, 'qqa': 21, 'xia': 3, 'qq': 44}

In [2]: set(a)
Out[2]: {'hh', 'qq', 'qqa', 'xia'}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值