get函数的用法python(字典get()方法怎么用)

admin 364 0

大家好,今天来为大家分享get函数的用法python的一些知识点,和字典get()方法怎么用的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

一、在python中怎么实现goto功能

1、首先安装一个 goto的包(因为官方是没有 goto语句的)

2、具体的语法--注意:对需要使用goto的函数,前面加个@patch

3、原理:通过给所有函数修改trace,然后在异常时就会执行设置的函数。

4、goto语句问题的提出直接推动了结构化程序设计(structuredprogramming)的思想和程序设计方法学的诞生和发展。结构化程序设计方法引入了工程思想和结构化思想,使大型软件的开发和编程都得到了极大的改善。

5、结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。

6、1.自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。

7、2.逐步求精:对复杂问题,应设计一些子目标作为过渡,逐步细化。

8、3.模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。

9、结构化程序设计方法的起源来自对goto语句的认识和争论。肯定的结论是,在块和进程的非正常出口处往往需要用goto语句,使用goto语句会使程序执行效率较高;在合成程序目标时,goto语句往往是有用的,如返回语句用goto。

10、否定的结论是,goto语句是有害的,是造成程序混乱的祸根,程序的质量与goto语句的数量成反比,应该在所有高级程序设计语言中取消goto语句。取消goto语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。作为争论的结论,1974年Knuth发表了令人信服的总结,并证实了:

11、(1)goto语句确实有害,应当尽量避免;

12、(2)完全避免使用goto语句也并非是个明智的方法,有些地方使用goto语句,会使程序流程更清楚、效率更高。

13、(3)争论的焦点不应该放在是否取消goto语句上,而应该放在用什么样的程序结构上。其中最关键的是,应在以提高程序清晰性为目标的结构化方法中限制使用goto语句

二、python中的try的用法

1、try语句是python里面的控制语句,与except,finally配合使用处理在程序运行中出现的异常情况。

2、try的工作原理是:当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。

3、假如在读一个文件的时候,希望在无论异常发生与否的情况下都关闭文件,该怎么做呢?这可以使用finally块来完成。注意,在一个try块下,可以同时使用except从句和finally块。如果要同时使用它们的话,需要把一个嵌入另外一个。

4、Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。

5、Python可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

6、一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。

7、参考资料来源:python官网-try..finally

三、python分析奥巴马资金来源

奥巴马的竞选资金是一点点从选民那里募集来的。如获党内提名,可得政府拔款,但也没多少。美国大选不仅禁外国人捐款,而且禁止公司机构捐款,而只允许个人捐款。不仅如此,还为个人捐款限制了上限,防止富人捐过多的款而影响未来的公平执政。

不仅富人自己不能多捐,如果某个老板呼吁自己的员工给某人捐钱或投票支持他,都是犯法的。因此,想要筹到几千万竞争资金,唯一的办法是争取更多选民支持,一点点募集。所以,中国、公司、大笔捐款,这三条都是犯法的。

我记得以前已经有华人闹过这种丑闻了。美国的选举法就是要严防少数人企图用几个臭钱影响美国的政治。所以我们作为外国人就更别去自讨没趣了。

import numpy as npimport pandas as pdfrom pandas import Series,DataFrame

方便大家操作,将月份和参选人以及所在政党进行定义

months={'JAN': 1,'FEB': 2,'MAR': 3,'APR': 4,'MAY': 5,'JUN': 6,'JUL': 7,'AUG': 8,'SEP': 9,'OCT': 10,'NOV': 11,'DEC': 12}of_interest= ['Obama, Barack','Romney, Mitt','Santorum, Rick','Paul, Ron','Gingrich, Newt']parties={'Bachmann, Michelle':'Republican','Romney, Mitt':'Republican','Obama, Barack':'Democrat',"Roemer, Charles E.'Buddy' III":'Reform','Pawlenty, Timothy':'Republican','Johnson, Gary Earl':'Libertarian','Paul, Ron':'Republican','Santorum, Rick':'Republican','Cain, Herman':'Republican','Gingrich, Newt':'Republican','McCotter, Thaddeus G':'Republican','Huntsman, Jon':'Republican','Perry, Rick':'Republican'}

table= pd.read_csv('data/usa_election.txt')table.head()

C:\jupyter\lib\site-packages\IPython\core\interactiveshell.py:2785: DtypeWarning: Columns(6) have mixed types. Specify dtype option on import or set low_memory=False. interactivity=interactivity, compiler=compiler, result=result)

cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num

0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 20-JUN-11 NaN NaN NaN SA17A 736166

1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 23-JUN-11 NaN NaN NaN SA17A 736166

2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 05-JUL-11 NaN NaN NaN SA17A 749073

3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 01-AUG-11 NaN NaN NaN SA17A 749073

4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 20-JUN-11 NaN NaN NaN SA17A 736166

#使用map函数字典,新建一列各个候选人所在党派partytable['party']= table['cand_nm'].map(parties)table.head()

cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party

0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 20-JUN-11 NaN NaN NaN SA17A 736166 Republican

1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 23-JUN-11 NaN NaN NaN SA17A 736166 Republican

2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 05-JUL-11 NaN NaN NaN SA17A 749073 Republican

3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 01-AUG-11 NaN NaN NaN SA17A 749073 Republican

4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 20-JUN-11 NaN NaN NaN SA17A 736166 Republican

#party这一列中有哪些元素table['party'].unique()

array(['Republican','Democrat','Reform','Libertarian'], dtype=object)

#使用value_counts()函数,统计party列中各个元素出现次数,value_counts()是Series中的,无参,返回一个带有每个元素出现次数的Series

table['party'].value_counts()

Democrat 292400Republican 237575Reform 5364Libertarian 702Name: party, dtype: int64

#使用groupby()函数,查看各个党派收到的政治献金总数contb_receipt_amttable.groupby(by='party')['contb_receipt_amt'].sum()

partyDemocrat 8.105758e 07Libertarian 4.132769e 05Reform 3.390338e 05Republican 1.192255e 08Name: contb_receipt_amt, dtype: float64

#查看具体每天各个党派收到的政治献金总数contb_receipt_amt。使用groupby([多个分组参数])table.groupby(by=['party','contb_receipt_dt'])['contb_receipt_amt'].sum()

party contb_receipt_dtDemocrat 01-AUG-11 175281.00 01-DEC-11 651532.82 01-JAN-12 58098.80 01-JUL-11 165961.00 01-JUN-11 145459.00 01-MAY-11 82644.00 01-NOV-11 122529.87 01-OCT-11 148977.00 01-SEP-11 403297.62 02-AUG-11 164510.11 02-DEC-11 216056.96 02-JAN-12 89743.60 02-JUL-11 17105.00 02-JUN-11 422453.00 02-MAY-11 396675.00 02-NOV-11 147183.81 02-OCT-11 62605.62 02-SEP-11 137948.41 03-AUG-11 147053.02 03-DEC-11 81304.02 03-JAN-12 87406.97 03-JUL-11 5982.00 03-JUN-11 320176.20 03-MAY-11 261819.11 03-NOV-11 119304.56 03-OCT-11 363061.02 03-SEP-11 45598.00 04-APR-11 640235.12 04-AUG-11 598784.23 04-DEC-11 72795.10... Republican 29-AUG-11 941769.23 29-DEC-11 428501.42 29-JAN-11 750.00 29-JAN-12 75220.02 29-JUL-11 233423.35 29-JUN-11 1340704.29 29-MAR-11 38875.00 29-MAY-11 8363.20 29-NOV-11 407322.64 29-OCT-11 81924.01 29-SEP-11 1612794.52 30-APR-11 43004.80 30-AUG-11 915548.58 30-DEC-11 492470.45 30-JAN-12 255204.80 30-JUL-11 12249.04 30-JUN-11 2744932.63 30-MAR-11 50240.00 30-MAY-11 17803.60 30-NOV-11 809014.83 30-OCT-11 43913.16 30-SEP-11 4886331.76 31-AUG-11 1017735.02 31-DEC-11 1094376.72 31-JAN-11 6000.00 31-JAN-12 869890.41 31-JUL-11 12781.02 31-MAR-11 62475.00 31-MAY-11 301339.80 31-OCT-11 734601.83Name: contb_receipt_amt, Length: 1183, dtype: float64

def trasform_date(d): day,month,year= d.split('-') month= months[month] return"20" year'-' str(month)'-' day

#将表中日期格式转换为'yyyy-mm-dd'。日期格式,通过函数加map方式进行转换table['contb_receipt_dt']= table['contb_receipt_dt'].apply(trasform_date)

cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party

0 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 250.0 2011-6-20 NaN NaN NaN SA17A 736166 Republican

1 C00410118 P20002978 Bachmann, Michelle HARVEY, WILLIAM MOBILE AL 3.6601e 08 RETIRED RETIRED 50.0 2011-6-23 NaN NaN NaN SA17A 736166 Republican

2 C00410118 P20002978 Bachmann, Michelle SMITH, LANIER LANETT AL 3.68633e 08 INFORMATION REQUESTED INFORMATION REQUESTED 250.0 2011-7-05 NaN NaN NaN SA17A 749073 Republican

3 C00410118 P20002978 Bachmann, Michelle BLEVINS, DARONDA PIGGOTT AR 7.24548e 08 NONE RETIRED 250.0 2011-8-01 NaN NaN NaN SA17A 749073 Republican

4 C00410118 P20002978 Bachmann, Michelle WARDENBURG, HAROLD HOT SPRINGS NATION AR 7.19016e 08 NONE RETIRED 300.0 2011-6-20 NaN NaN NaN SA17A 736166 Republican

#查看老兵(捐献者职业)DISABLED VETERAN主要支持谁:查看老兵们捐赠给谁的钱最多table['contbr_occupation']=='DISABLED VETERAN'

0 False1 False2 False3 False4 False5 False6 False7 False8 False9 False10 False11 False12 False13 False14 False15 False16 False17 False18 False19 False20 False21 False22 False23 False24 False25 False26 False27 False28 False29 False... 536011 False536012 False536013 False536014 False536015 False536016 False536017 False536018 False536019 False536020 False536021 False536022 False536023 False536024 False536025 False536026 False536027 False536028 False536029 False536030 False536031 False536032 False536033 False536034 False536035 False536036 False536037 False536038 False536039 False536040 FalseName: contbr_occupation, Length: 536041, dtype: bool

old_bing_df= table.loc[table['contbr_occupation']=='DISABLED VETERAN']

old_bing_df.groupby(by='cand_nm')['contb_receipt_amt'].sum()

cand_nmCain, Herman 300.00Obama, Barack 4205.00Paul, Ron 2425.49Santorum, Rick 250.00Name: contb_receipt_amt, dtype: float64

table['contb_receipt_amt'].max()

#找出候选人的捐赠者中,捐赠金额最大的人的职业以及捐献额.通过query("查询条件来查找捐献人职业")table.query('contb_receipt_amt== 1944042.43')

cmte_id cand_id cand_nm contbr_nm contbr_city contbr_st contbr_zip contbr_employer contbr_occupation contb_receipt_amt contb_receipt_dt receipt_desc memo_cd memo_text form_tp file_num party

176127 C00431445 P80003338 Obama, Barack OBAMA VICTORY FUND 2012- UNITEMIZED CHICAGO IL 60680 NaN NaN 1944042.43 2011-12-31 NaN X* SA18 763233 Democrat

来源:https://www.icode9.com/content-1-497751.html

四、python中get函数用法

在获取值得时候常用的方法就是直接,但这种方法中当字典中不存在该键时会返回KeyError类型错误,此时就可以用get函数还利用键获取值,利用get函数操作时当字典中不存在输入的键时会返回_个None,这样程序运行时就不会出异常。

2、利用字典统计列表中元素出现次数

get函数在这里有两个参数,第_个是确定要分配值的键,第_个是拟定给键分配_个初值,但实际要给键赋值仍需要get赋值语句。拟定初值语句本身对结果是没有影响的,因为并没有实际的对键进行赋值语句操作。

get函数的用法python和字典get()方法怎么用的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!