1.字典型数据格式要求“{}”结合“:”,列表型数据格式要求“[]”,只有列表型是有序的。

816733fe958e68919c8551f7073aaf04.png

2.单击【考生文件夹】,打开程序文件【py202-1】。

547dcef531421b05fd4ed18502712e1e.png

3.【open】函数格式:open("文件名",打开方式),其中文件名要加双引号,当省略打开方式时,会以默认模式r打开。

3f273840a17385bc34bc593f21fe5a31.png

4.模式r与模式rb都是以只读方式打开文件,但模式rb以二进制格式打开文件。

4d471128326eebb6a3ce88c2a4dbe1b3.png

5.模式r+打开一个文件用于读写,模式rb+以二进制格式打开文件用于读写,模式w打开一个文件只用于写入,模式wb以二进制格式打开文件只用于写,模式w+打开一个文件用于读写,与模式r+不同的是w+会进行一个覆盖。

60a1df4e87b840126b439e78e9270d06.png

6.函数file.readline():读取文件里的一行,file.readlines([size]):读取文件里所有的内容,for line in f: print line:从f里面把所有行读取出来。

a44bd576b1d105c9b0606d8adfef860f.png

7.函数f.write("hello\n"):在文件里写入 hello后换行。

a60ed50e4cbcd04ba06a30e7e3181212.png

8.函数f.seek(偏移量,[起始位置]):用来移动文件指针,其中起始位置:0表示文件头,1表示当前位置,2表示文件尾,函数f.close() 关闭文件。

cc990d4a025de4882f889d1cdb85d1a3.png

9.使用split字符分割后结果是一个列表型数据。

c63d49b699deecc642b7e42bd754d2ec.png

10.count()方法用于统计某字符出现的次数。

24fc23612add0cbaeb508e4cade775f4.png

11.字典 get()函数,在字典型数据里面要获取某个键对应的值要使用get方法,当字典型数据里没有想要查询的键时可以使用默认值的方法。

25515897ebea4cffa5912f238b17eeb2.png

12.list()方法用于将数据转变为列表型数据,在将a转换为列表后,a此时还是一个副本,需要使用a=list(a)将其转换为列表型数据,转换字典型时需要使用list(dict.item())。

ebbc9df5a553364b78c4d2336f0b9d68.png

13.函数sort用于排序,列表型数据才可以进行排序,a.sort(reverse=False)为升序排序函数默认为降序排序,a.sort(reverse=True)为降序排序。

3817862dc7ff2ddc022f7aac3fec6427.png

14.可以使用固定语句 A=lambda x;x+1 def A(x); return x+1,对字典型数据进行排序。

bc548380698d85030eb685e8e0edacfb.png

15.使用f=open("name.txt")打开文件,使用语句names=f.readlines()将文件里的所有的行全部读入到变量names中,使用同样方法打开vote.txt文件并读取到变量votes中。

490442886dd3bb60b120491c1940dc5c.png

16.使用语句for vote in votes:将字符串votes每一行的数据都读出来,ls=vote.split()进行分割,分割后数据会变成列表型数据,if len(ls)=1:进行判断是否符合条件,当等于1时符合条件,当等于2时不符合条件,for name is names:  if name.count(ls[0])==1:  n=n+1  d[ls[0]]=d.get(ls[0],0)+1  统计每个人的有效票数,print("有效票数{},format(n)")输出。

a1b5afdcf1f4f9ec3182ae1385ed2b9c.png

17.解题思路:(1), 把两个文件中内容,存储到字符串变量中。对应代码:f=open("name.txt")  names=f.readlines() (2),判断投票文档中的投票是否有效。逐行对投票的结果进行读取读取后,进行划分变量就变成列表型数据,再利用len函数进行判断。对应代码:for vote in votes:  ls=vote.split()  if len(ls)=1: (3),通过判断名字出现的次数为1,计为有效票。对应代码:for name is names:  if name.count(ls[0])==1:  n=n+1  d[ls[0]]=d.get(ls[0],0)+1 。

2d5e8e87563ccc2b5e53c5d5e3d43919.png

18.问题二:前半段的程序与问题一的程序相同,不同处使用语句bj=list(d.items()),把字典型数据转换为列表型数据,bj.sort(key=lambda x:x[1],reverse=True)降序排序,name,score=bj[0] 元祖bj[0]第一个数值传递给name第二个数值传递给score,print("当选班长的同学为:{},票数为:{}".format(name,score))输出。

ffb632d5901e770e2c2ce497fa0c0fc9.png

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐