Python字典详解
来源:互联网 发布:最新好听网络歌曲 编辑:程序博客网 时间:2024/06/06 00:51
字典:键值对的集合,该集合以键为索引,同一个键对应一个值,为一个容器类型
举例:检索学生或员工信息
<键><值>对 键(身份证号码) 值(学生信息)
字典操作:
创建字典:
>>> ainfo={'qw':12,'er':34}>>> binfo=dict([('qw',12),('er',12)])>>> cinfo=dict([['qw',12],['er',12]])>>> dinfo=dict(name='Bill',age=56)>>> ainfo{'qw': 12, 'er': 34}>>> binfo{'qw': 12, 'er': 12}>>> cinfo{'qw': 12, 'er': 12}>>> dinfo{'name': 'Bill', 'age': 56}
初始化字典:
>>> #fromkeys第一个参数是序列类型>>> aDict={}.fromkeys(('ycg','sx'),30)>>> aDict{'ycg': 30, 'sx': 30}>>> sorted(aDict)['sx', 'ycg']
使用两个列表创建
a=['qw','rt','yu']b=['zx','cv','nm']fdict=dict(zip(a,b))print(fdict)
添加项:students["2017"]="qwe"
删除键值对:del students["2017"]
遍历字典:
for key in students:
print key+','+students[key]
遍历字典的键:
for key in students.keys():
print key
遍历字典的值:
for value in students.values():
print value
遍历字典的项:
for item in students.items():
print item
判断键是否
在字典中:in/not in,返回True或者False
字典作为函数的参数:
>>> def f(arg1,*argt,**argd):print(arg1)print(argt)print(argd)>>> f('q','qq','ww',a1=1,a2=2)q('qq', 'ww'){'a1': 1, 'a2': 2}
字典方法:
字典实例一:查询英文文章中出现字数前5多的单词并以图表形式输出
输入用例:article.txt文件:
don't know what I do now is right, those are wrong, and when I finally Laosi when I know these. So I can do now is to try to do well in everything, and then wait to die a natural death.Sometimes I can be very happy to talk to everyone, can be very presumptuous, but no one knows, I can make him very happy very happy, but couldn't find the source of happiness, just giggle.
# -*- coding: utf-8 -*-from math import *from turtle import *wordcounts={}#用字典存储单词的数量countwords = []#将字典中的键值反转存入列表,便于排序count=5xscale=30#x轴放大倍数yscale=20#y轴放大倍数xlabel=[]#存储单词,用于x轴显示ylabel=[]#存储单词数量,用于y轴显示#句子中的标点符号替换为空格def replacepunctuations(line): for ch in line: if ch in ",.;'": line=line.replace(ch,' ') return line#处理每一行并更新字典def processline(line): words=replacepunctuations(line).split() for word in words: if word in wordcounts: wordcounts[word]+=1 else: wordcounts[word]=1#(x1,y1)到(x2,y2)画一条线def drawline(t,x1,y1,x2,y2): t.penup() t.goto(x1,y1) t.pendown() t.goto(x2,y2)#在(x,y)上标注文本def drawtext(t,x,y,text): t.penup() t.goto(x,y) t.pendown() t.write(text)#画条状图def drawbar(t,x,y,text): x=x*xscale y=y*yscale drawtext(t,x,y,y/yscale) drawtext(t,x,-20,text) drawline(t, x - 5, 0, x - 5, y) drawline(t, x - 5, y, x + 5, y) drawline(t, x + 5, y, x + 5, 0)def drawgraphy(t): drawline(t,0,0,200,0) drawline(t,0,0,0,150) for i in range(0,count): x=i+1 drawbar(t,x,countwords[i][0],countwords[i][1])def main(): f = open("article.txt", "r") for line in f: processline(line) print wordcounts xlabel = wordcounts.keys() ylabel = wordcounts.values() #键值反转并排序 for [y, x] in wordcounts.items(): countwords.append([x, y]) countwords.sort() countwords.reverse() p=Turtle() p.pensize(3) p.hideturtle() drawgraphy(p) done()main()
输出:
字典实例二:
文件合并实例:
TelInformation.txt
姓名: 电话:嘻嘻 1333333
男男 82782
EmailInformation.txt
姓名: 邮箱:
嘻嘻 123@163.com
东东 124@qq.com
Information.txt
嘻嘻 1333333 123@163.com男男 82782 not have email
东东 not have tel 124@qq.com
# -*- coding: utf-8 -*-from math import *from turtle import *def main(): f1=open("TelInformation.txt","r") f2=open("EmailInformation.txt","r") f3=open("Information.txt","w") f1.readline() f2.readline() lines1=f1.readlines() lines2=f2.readlines() dicttel={} dictemail={} list=[] for line in lines1: information=line.split() dicttel[information[0]]=information[1] for line in lines2: information = line.split() dictemail[information[0]] = information[1] for line in dicttel.keys(): if line in dictemail: list.append(line+' '+dicttel[line]+' '+dictemail[line]+'\n') else: list.append(line + ' ' + dicttel[line] + ' not have email\n') for line in dictemail.keys(): if line not in dicttel: list.append(line + ' ' + ' not have tel'+dictemail[line]+'\n') f3.writelines(list) f1.close() f2.close() f3.close()main()
- Python 字典详解
- Python基础-字典详解
- Python中的字典详解
- Python字典详解
- python 字典详解 二(字典拓展使用 )
- Python字典的应用详解
- Python学习之字典详解
- Python字典的应用详解
- python字典的应用详解
- Python学习之字典详解
- Python 字典(Dictionary)操作详解
- Python中字典(dict)详解
- 各种常用Python字典应用方式详解
- Python - 字典(dict) 详解 及 代码
- python字典创建和使用实例详解
- python 字典详解 一 (基础用法)
- Python学习笔记(16)--字典详解
- python字典创建和使用实例详解
- 最新软件外包网站有哪些?
- stock-python问题记录
- Myeclipse修改括号匹配样式
- Android中通过Exifinterface读取图片地理位置信息
- 大讲台Spark新手入门之实战部署
- Python字典详解
- 如何成为一名顶级战斗力的数据分析师?
- Linux中安装字体
- [bigdata-118] 一些数“数据科学家”的技能要求
- 3D MAX 三维地形图制作
- redis 命令行的快捷操作方式
- amqp及zmq扩展安装错误
- Codeforces Round #435 (Div. 2) E. Mahmoud and Ehab and the function
- opencv 阈值操作类型选择