Python for Data Analysis (8)
来源:互联网 发布:分水岭算法 过分割 编辑:程序博客网 时间:2024/06/05 06:48
字典
#update方法,一个字典可以被合并到另一个字典中去:d1={1:'a',2:'b'}d1.update({3:'c',4:'d'})d1
dict(zip(range(4),reversed(range(5))))
d1.get(1)
默认值!!
1.
一个常见的逻辑:
if key in some_dict:
value=some_dict[key]
else:
value=default_value
#可以简化成value=some_dict.get(key,default_value)
2.
words={'apple','bat','bar','atom','book','momo'}by_letter={}for word in words: letter=word[0] if letter not in by_letter: by_letter[letter]=[word] else: by_letter[letter].append(word)by_letter
{'a': ['apple', 'atom'], 'b': ['bat', 'bar', 'book'], 'm': ['momo']}
#利用setdefault方法,让上面的if-else块可以写成:by_letter.setdefault(letter,[]).append(word)
#还有简化方法collection模块中的一个defaultdict的类from collections import defaultdictby_letter=defaultdict(list)for word in words: by_letter[word[0]].append(word)by_letter
defaultdict(list, {'a': ['apple', 'atom'], 'b': ['bat', 'bar', 'book'], 'm': ['momo']})
defaultdict的初始化器只需要一个可调用对象(例如各种函数),并不需要明确的类型。因此,如果要将默认值设置为4,只需要传入一个能够返回4的函数即可:
counts=defaultdict(lambda:4)counts
defaultdict(<function __main__.<lambda>>, {})
字典的哈希性
虽然字典的值是可以是任何Python对象,但键必须是不可变对象,这里描述为可哈希性,可以用hash函数来验证
hash('string')
-9167918882415130555
hash([13,3])#列表是可以变的,如果一定要用列表,就转变它为元组
---------------------------------------------------------------------------TypeError Traceback (most recent call last)<ipython-input-20-d7b46a358c61> in <module>()----> 1 hash([13,3])#列表是可以变的,如果一定要用列表,就转变它为元组TypeError: unhashable type: 'list'
0 0
- Python for Data Analysis (8)
- python for data analysis
- Python For Data Analysis笔记
- Python for Data Analysis (1)
- Python for Data Analysis (2)
- Python for Data Analysis (3)
- Python for Data Analysis(4)
- Python for Data Analysis (5)
- Python for Data Analysis (6)
- Python for Data Analysis (7)
- Python for Data Analysis (9)
- Python for Data Analysis (10)
- Python for Data Analysis (11)
- [Python for data Analysis]Python Basic
- [Python for Data Analysis] Python Basic--Function
- 【python】python for data analysis环境安装
- python for data analysis 操作usagov_bitly_data示例
- 开始学习Python for Data Analysis
- 最小生成树
- ubuntu环境下快速简单的生成gif动画
- 如何知道DLL是32位还是64位
- 学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
- 欢迎使用CSDN-markdown编辑器
- Python for Data Analysis (8)
- BOM学习笔记----------(一)
- 实时计算实践(spark streaming+kafka+hdfs)
- Toast总结一
- 搭建nghttp2.0作为apns服务的代理的相关问题总结
- 前端框架Avalon:简介
- 学生会竞选发言稿
- 利用multimap给数据高效分类(1)
- Bitmap压缩(二次采样)