Python学习笔记-Dictionary 【python 3】//为继续学习爬虫准备-00
2016-09-08 18:47
525 查看
dictionary是N组无序的键值对的集合,每个dictionary由一个花括号括起来,每组数据由“;”隔开,key:value 作为一个元素。
通过一个dictionary的key可以查找到value值。
如下面这个exDict的dictionary,key是人名,value是对应的人的年级:
打印出上面的exDict,可以看到dictionary打印出来的键值对是无序的
使用keys()输出所有的key
#或者
使用items()输出所有的键值对
#或者
使用values()输出所有的value
如果要查找一个key的值,直接dictionary['key']即可,如:
添加一组key:value,直接dictionary['key']=value
修改一个元素
删除一个元素
#或者
删除多个元素
最后结果:
清空一个dictionary,直接使用.clear()即可:
复制一个dictionary,使用copy():
检查一个key是否在dictionary里 【使用has_key('key'),返回布尔值: 这个方法仅适用于python 2 】
python3 用1. key in dictionary:
python3 还可以用2. dictionary.__contains__('key')
根据key给一个dictionary排序 【利用sorted()定义函数】
可以看到我们得到一个按照首字母排序的list (我们不会得到一个dictionary是因为dictionary是无序的)
根据value给一个dictionary排序类似(虽然似乎看不出dictionary的排序):
通过一个dictionary的key可以查找到value值。
如下面这个exDict的dictionary,key是人名,value是对应的人的年级:
exDict={"andy":20,"bob":2,"chris":30,"dave":21,"edith":26}
打印出上面的exDict,可以看到dictionary打印出来的键值对是无序的
>>> print (exDict) {'chris': 30, 'dave': 21, 'bob': 2, 'edith': 26, 'andy': 20}
使用keys()输出所有的key
>>> exDict.keys() dict_keys(['chris', 'dave', 'bob', 'edith', 'andy'])
#或者
>>> list(exDict.keys()) ['chris', 'dave', 'bob', 'edith', 'andy']
使用items()输出所有的键值对
>>> exDict.items() dict_items([('chris', 30), ('dave', 21), ('bob', 2), ('edith', 26), ('andy', 20)])
#或者
>>> list(exDict.items()) [('chris', 30), ('dave', 21), ('bob', 2), ('edith', 26), ('andy', 20)]
使用values()输出所有的value
>>> exDict.values() dict_values([30, 21, 2, 26, 20])
如果要查找一个key的值,直接dictionary['key']即可,如:
>>> exDict['andy'] 20
添加一组key:value,直接dictionary['key']=value
exDict['frank'] = 20
修改一个元素
exDict['bob'] = 12
删除一个元素
del exDict['bob']
#或者
exDict.pop('chris')
删除多个元素
for _ in['andy','frank']: del(exDict[_])
最后结果:
>>> print(exDict) {'dave': 21, 'edith': 26}
清空一个dictionary,直接使用.clear()即可:
>>> exDict.clear() >>> exDict {} #得到一个空的花括号
复制一个dictionary,使用copy():
>>> dict1 = {'chinese':0,'english':1,'french':2,'spanish':3} >>> dict2 = dict1.copy() >>> dict2 {'french': 2, 'chinese': 0, 'spanish': 3, 'english': 1}
检查一个key是否在dictionary里 【使用has_key('key'),返回布尔值: 这个方法仅适用于python 2 】
>>> dict1.has_key('english') True >>> dict2.has_key('japanese') False
python3 用1. key in dictionary:
>>> 'french' in dict1 True >>> 'japanese' in dict1 False
python3 还可以用2. dictionary.__contains__('key')
>>> dict2.__contains__('chinese') True >>> dict2.__contains__('hebrew') False >>>
根据key给一个dictionary排序 【利用sorted()定义函数】
>>> def sortBK(): ... sortBKs = sorted(dict2.items(),key=lambda t:t[0]) ... print sortBKs ... >>> sortBK() [('chinese', 0), ('english', 1), ('french', 2), ('spanish', 3)]
可以看到我们得到一个按照首字母排序的list (我们不会得到一个dictionary是因为dictionary是无序的)
根据value给一个dictionary排序类似(虽然似乎看不出dictionary的排序):
>>> def sortBV(): ... sortBVs = sorted(dict2.items(),key=lambda t:t[1]) ... print(sortBVs) ... >>> sortBV() [('chinese', 0), ('english', 1), ('french', 2), ('spanish', 3)]
相关文章推荐
- Python学习笔记- 廖雪峰教程【python 2】//为继续学习爬虫准备-02 [待完善]
- Python学习笔记-List基本操作【python 3】//为继续学习爬虫准备-01
- [Python入门及进阶笔记00]-写在前面(目录/书籍/学习路线/其他)
- Python笔记(叁)-继续学习
- Python爬虫框架Scrapy 学习笔记 8----Spider
- 【python学习笔记】网络爬虫的完整源代码
- Python爬虫框架Scrapy 学习笔记 10.2 -------【实战】 抓取天猫某网店所有宝贝详情
- python爬虫框架scrapy学习笔记
- [Python入门及进阶笔记00]-写在前面(目录/书籍/学习路线/其他)
- [Python]网络爬虫学习笔记,爬取豆瓣妹子上妹子的照片
- Python爬虫框架Scrapy 学习笔记 10.3 -------【实战】 抓取天猫某网店所有宝贝详情
- Python爬虫框架Scrapy 学习笔记 4 ------- 第二个Scrapy项目
- Python3.x学习笔记[1]:2种简单爬虫获取京东价格
- Python笔记(叁)继续学习
- Python爬虫框架Scrapy 学习笔记 7------- scrapy.Item源码剖析
- python笔记(1) 关于我们应不应该继续学习python
- [Python入门及进阶笔记00]-写在前面(目录/书籍/学习路线/其他)
- 我自己整理的一点python的学习笔记。后续继续更新
- python基础教程学习笔记 — 准备Linux下开发环境
- Python爬虫框架Scrapy 学习笔记 10.1 -------【实战】 抓取天猫某网店所有宝贝详情