根据书上的定义,字典是将数据与键相关联,这个键相当于是一组数据的一个名称,键必须是唯一的。
python中提供了内置的映射类型--字典。映射其实就是一组key和value以及之间的映射函数,其特点是:key的唯一性、key与value的一对多的映射。--网上找到的定义,感觉这个好理解一点
字典的创建:有两种方式
1 mydic={} # 用大括号 2 mydic=dict() # 用函数
向字典赋值:
1 mydic['name']=['xieziyang','setepen curry','clay tomphson'] 2 mydic['posison']=['center','point graud','shooting guard']
第一个中括号就是key,后面的中括号里就是key映射的vaule
另一种赋值的方式:
1 my2dic={'name':['michale jordan','lebron james','kevin durant'],'team':['chiago bulls','celveland cavalier','golden state worrioers']}
如果要插入新的key和上面的方法是一样的,但是如果要添加某一个key下面的值的,不能使用上面的方法,会覆盖掉原来的值
从headfrist Python support site下载了第六章要用的数据,编写函数:
1 def get_coach_data(filename): 2 try: 3 with open(filename) as f: 4 tempdata=f.readline() 5 temp=tempdata.strip().split(',') 6 return({'name':temp.pop(0), 7 'dob':temp.pop(0), 8 'times':str(sorted(set([sanitize(t) for t in temp]))[0:3])}) 9 except IOError as ioe: 10 print('file error: ',+str(ioe)) 11 return(None)
直接返回一个字典。pop()函数是提取并移除在列表中的指定位置的一个数据,temp.pop(0)就是原temp列表中第一个数据
1 >>> coach_dic=get_coach_data('james2.txt') 2 >>> coach_dic 3 {'name': 'James Lee', 'dob': '2002-3-14', 'times': "['2.01', '2.16', '2.22']"}