字典数据类型-字典的定义
2015-08-23 23:00
513 查看
一、定义一个新字典:
二、获取/设置字典的值:
""" dict.fromkeys(S[,v]) New dict with keys from S and values equal to v. v defaults to None. """ d1 = dict.fromkeys(['a','b']) #d1= {'a': None, 'b': None} d2 = dict.fromkeys(['a','b'],["hell o","python"]) #d2= {'a': ['hello', 'python'], 'b': ['hello', 'python']} print "d1=",d1," ","d2=",d2 #help(dict.fromkeys) """ class dict(object) |dict() -> new empty dictionary | dict(mapping) -> new dictionary initialized from a mapping object's | (key, value) pairs | dict(iterable) -> new dictionary initialized as if via: | d = {} | for k, v in iterable: | d[k] = v | dict(**kwargs) -> new dictionary initialized with the name=value pairs | in the keyword argument list. For example: dict(one=1, two=2) """ keyslist = [1,2,3] valueslist = ["hello",',','python'] d3 = dict(zip(keyslist,valueslist)) print "d3=",d3 #d3= {1: 'hello', 2: ',', 3: 'python'} d4 = dict(name = "zroad",age = 42) print "d4=",d4 #d4= {'age': 42, 'name': 'zroad'} #help(dict) """ 通过赋值生成字典:字典键不能为列表、字典,但可为元组 d5= {1: '1'} d6= {'1': 1} """ d5 ={} d5[1] = "1" d6={} d6['1'] = 1 d7 = {} d7[(1,3)] = [1,2,3] print "d5=",d5," ","d6=",d7," ",d7 """ dict.items():返回元组的序列 [('age', 30), ('height', 1.65), ('name', 'zroad'), ('weight', 140), ('sex', 1)] """ d8 = {"name":"zroad","age":30,"sex":1,"height":1.65,"weight":140} print d8.items() """ 键存在性检查 """ if "age" in d8: print "True" else: print "False" """ 生成字典的副本 """ d9 = d8.copy() print id(d8),id(d9) print type(d9),d9
二、获取/设置字典的值:
def getDict(dictSrc,key,defaultValue): return dictSrc.get(key,defaultValue) dictSrc = {"name":'zroad',"age":30} """ zroad 30 not found! """ print getDict(dictSrc,'name','not found!') print getDict(dictSrc,'age','not found!') print getDict(dictSrc,'sex','not found!') def setDict(dictSrc,key,defaultValue): dictSrc.setdefault(key,defaultValue) #help(dict.setdefault) """ dictSrc= {'age': 30, 'name': 'zroad', 'sex': 1} dict.setdefault(k,v)若k不是dict的键则赋值为v,若是dict的键则不改变原键-值对 setdefault(k,v)的返回值为dictSrc[k] """ setDict(dictSrc,'sex',1) setDict(dictSrc,'name','hlf') print "dictSrc=",dictSrc #help(zip) """ zip(...) zip(seq1 [, seq2 [...]]) -> [(seq1[0], seq2[0] ...), (...)] Return a list of tuples, where each tuple contains the i-th element from each of the argument sequences. The returned list is truncated in length to the length of the shortest argument sequence. """ """ 从序列交替中获取值生成字典 """ def dictFromList(keysAndValues): return dict(zip(keysAndValues[::2],keysAndValues[1::2])) keysAndValues = [1,2,3,4,5,6,7,8,9,10] keysAndValues1 = [1,2,3,4,5,6,7,8,9] """ result: zip(a,b)= [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)] {1: 2, 3: 4, 9: 10, 5: 6, 7: 8} {1: 2, 3: 4, 5: 6, 7: 8} """ print "zip(a,b)=",zip(keysAndValues[::2],keysAndValues[1::2]) print dictFromList(keysAndValues) print dictFromList(keysAndValues1) """ 获取字典的子集 """ def sub_dict(somedict,somekeys,default=None): """ 该种写法不会影响到原始字典,若要删除原始字典,使用somedict.pop(k,default) """ return dict([k,somedict.get(k,default)] for k in somekeys) somedict = {"a":1,'b':2,'c':3,4:5,5:[1,2,3],6:{'a':1,'b':2}} print sub_dict(somedict,"abc")
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法