(4)python 字典
2024-08-22 22:27:10
创建字典
phonebook = {'Alice': '', 'Beth': '', 'Cecil': ''}
以 value :key 键值对的格式。冒号前是键,冒号后时值 ,组合在一起是一项。多个项放在一个花括号内。
函数dict()用来把其他项创建成一个字段
>>> item = [('name', 'tom'), ('age', 17)]
>>> d=dict(item)
>>> d
{'name': 'tom', 'age': 17}
或者
>>> d = dict(name='tom', age=17)
>>> d
{'name': 'tom', 'age': 17}
len() 返回字段包含项的个数
>>> len(d)
2
通过字典的键访问值
>>> d['name']
'tom'
修改或增加一个项
>>> d['age']=18
>>> d
{'name': 'tom', 'age': 18}
>>> d['a']=33
>>> d
{'name': 'tom', 'age': 18, 'a': 33}
删除一项
>>> del d['a']
>>> d
{'name': 'tom', 'age': 18}
检查字段是否有此键
>>> 'age' in d
True
字典方法
1.clear() 删除所有项
2.copy() 返回一个新字典
y=x.copy()
修改值原字典不会受影响,替换值原字典会受到影响。
遇到替换问题可以用深复制的方法--暂时不想了解
3.fromkeys()
创建一个新字典,每个键对应的值为None。
>>> dd={}.fromkeys(['name','age'])
>>> dd
{'name': None, 'age': None}
如果不行默认None
>>> xx={}.fromkeys(['name','age'],'abc')
>>> xx
{'name': 'abc', 'age': 'abc'}
4.get
get和键访问一样。但是键访问没有的键会引发异常。get访问没有得键会返回None
>>> xx['a']
Traceback (most recent call last):
File "<pyshell#78>", line 1, in <module>
xx['a']
KeyError: 'a'
>>> xx.get('name')
'abc'
>>> xx.get('a')
>>>
>>>
5.items
返回一个字典视图
>>> d
{'y': , 'z': , 'a': }
>>> d.items()
dict_items([('y', ), ('z', ), ('a', )])
6.keys
返回一个只包含键的字典视图。值无重复
>>> d
{'y': , 'z': }
>>> d.keys()
dict_keys(['y', 'z'])
7.pop
方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除
>>> d={'x':,'y':}
>>> d.pop('x') >>> d
{'y': }
8.popitem
随机弹出一项,并返回弹出项
>>> d
{'y': , 'z': , 'a': , 'b': }
>>> d.popitem()
('b', )
>>> d
{'y': , 'z': , 'a': }
9.setdefault
如果setdefault 参数对应的键在字典里无此键,则在字典添加这个键值。如果字典里有此键,则不更新
>>> d
{'y': , 'z': , 'a': }
>>> d.setdefault('b',) >>> d
{'y': , 'z': , 'a': , 'b': }
>>> d['b']=
>>> d
{'y': , 'z': , 'a': , 'b': }
>>> d.setdefault('b',) >>> d
{'y': , 'z': , 'a': , 'b': }
10.update
使用字典项来更新字典,没有的项会新增
>>> d
{'y': , 'z': , 'a': }
>>> x={'a':,'b':}
>>> d.update(x)
>>> d
{'y': , 'z': , 'a': , 'b': }
>>>
11.values
返回一个只包含值的字典视图。值有可能重复
>>> d
{'y': , 'z': , 'a': }
>>> d.values()
dict_values([, , ])
>>>
最新文章
- AVFoundation播放视频时显示字幕,切换音轨
- 使用getopt_long来解析参数的小函数模板
- [poj2492]A Bug&#39;s Life(并查集+补集)
- 64位计算机安装setuptool
- JS阻止链接跳转代码
- Jenkins 搭建U3D自动发布 IOS
- Instance Variables in ruby
- JS tab切换事件
- (转)[SQL Server] 动态sql给变量赋值(或返回值给变量)
- jsoi2015 R2——滚粗记
- C语言关键字 - 铁布衫:const 转载
- HDU 1230 火星A+B
- rfc的资料
- javascript中的继承用法
- 玩转指针(Playing with Pointers)
- Notification (通知)的 新版和旧版用法
- Flink资料(4) -- 类型抽取和序列化
- ElasticSearch 学习记录之ES查询添加排序字段和使用missing或existing字段查询
- php 基于tcpdf插件生成pdf
- JavaScript 系列博客(六)