您的位置:首页 > 编程语言 > Python开发

Python_字典基础

2018-09-30 13:48 330 查看

字典的增删改查

字典的key:必须是不可变元素(如:元组,字符串,数字)

[code]>>> person_info={}
>>> person_info['name']='tanner'
>>> person_info['age']=10
>>> person_info
{'name': 'tanner', 'age': 10, 'sex': 'femal'}
#修改该字典指定的某key的value
>>> person_info['age']=11
>>> person_info
{'name': 'tanner', 'age': 11, 'sex': 'femal'}
#popitem()无参数,作用是删除该字典的最后一对key和value值,返回值是由key和value组成的元组
>>> person_info.popitem()
('sex', 'femal')
>>> person_info
{'name': 'tanner', 'age': 11}
#pop(n)必须传入至少一个参数,该参数是字典的key时,返回值是该字典的value,该参数不是字典的key时,返回设定的提示语
>>> person_info.pop('sex')
'femal'
>>> person_info
{'name': 'tanner', 'age': 11}
>>> person_info.pop('sex','not found')
'not found'
#查找某key对应的value,如果value不存在时打印设定的默认值(提示语)"not found"
>>> person_info.get('name','not found')
'tanner'
>>> person_info.get('sex','not found')
'not found'
#setdefault(key,value)字典里不存在该key,则将key和value加到字典里,存在该key的话保持该key的value值不变
>>> person_info
{'name': 'tanner', 'sex': 'femal'}
>>> person_info.setdefault('age',11)
11
>>> person_info
{'name': 'tanner', 'sex': 'femal', 'age': 11}
>>> person_info.setdefault('age',12)
11
>>> person_info
{'name': 'tanner', 'sex': 'femal', 'age': 11}
#清空字典
>>> person_info.clear()
>>> person_info
{}

快速生成字典的几种方法

[code]>>> data=dict(one=1,two=2,three=3)#注意key值不加引号(如:one=1)
>>> data
{'one': 1, 'two': 2, 'three': 3}

>>> data2=dict(zip(['one', 'two', 'three'], [1, 2, 3]))
>>> data2
{'one': 1, 'two': 2, 'three': 3}
>>> list(zip(['one', 'two', 'three'], [1, 2, 3]))
[('one', 1), ('two', 2), ('three', 3)]

>>> data3=dict([('one', 1), ('two', 2), ('three', 3)])
>>> data3
{'one': 1, 'two': 2, 'three': 3}

#利用fromkeys生成字典
>>> data4={}
>>> data4=data4.fromkeys([1,2,3])
>>> data4
{1: None, 2: None, 3: None}
>>> data4=data4.fromkeys([1,2,3],10)
>>> data4
{1: 10, 2: 10, 3: 10}
>>> data4=data4.fromkeys([1,2,3],[4,5,6])
>>> data4
{1: [4, 5, 6], 2: [4, 5, 6], 3: [4, 5, 6]}

遍历字典

[code]>>> dic={'name':'tanner','age':'10','sex':'femal'}

#遍历字典的keys
>>> for k in dic.keys():
...     print(i)
...
name
age
sex

#遍历字典的values
>>> for v in dic.values():
...     print(i)
...
tanner
10
femal

#遍历字典的items
>>> for k,v in dic.items():
...     print([k,v])
...
['name', 'tanner']
['age', '10']
['sex', 'femal']

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: