PYTHON学习之sorted函数

PYTHON是一种非常灵活的语言,可以用来快速开发,语言简洁,而且功能强大,最近在处理数据时遇到了排序的问题,使用了SORTED函数,不得不感叹PYTHON的强大。

问题描述:遍历输出一个字典数据,输出前按照KEY的第9至12位数据进行排序。

第一步,认识sorted函数

Sorted可以对所有的可迭代对象进行排序,在PYTHON中,list、tuple、set、dict等数据结构都是可迭代的对象,因此都可以使用sorted函数进行排序,尤其是要进行遍历输出的时候,非常方便。sorted的语法是:

sorted(iterable, key=None, reverse=False)

iterable是可迭代的对象,key是排序的关键字,reverse是排序的顺序,默认是升序

第二步,认识lambda函数

lambda是匿名函数,不用单独定义,使用起来方便,正常的函数必须先定义,再使用。而lambda只用简单定义,即可实现一个函数的功能。

常规函数的定义和使用:

def sum(x,y):
    return x+y

result=sum(5,3)

使用lambda定义匿名函数:

sumFunc=lambda x,y:x+y
result=sumFunc(5,3)

第三步,解决问题

所要排序的数据时一个字典,排序的依据是KEY中的第9至12位数据,然后输出字典里面的数据。

for item in sorted(myDict,key=lambda item:item[9:12])
    print(item,myDict[item])

电子投标回执中的文件指纹或唯一码验证

电子投标不同于纸质投标,纸质投标打印、盖章等一系列环节都能够用眼睛看到,发现了过去也能够修改。但是电子标就不同了,一切操作都在电脑中进行,不如纸质标有把握,就比如说上传投标文件之后,有没有怀疑传错了文件之类的想法?今天就来说说这个问题,以及解决办法。

解决该问题最好的办法就是在电脑上保留唯一的投标文件材料,在电子标书制作过程中,可能保留很多副本,盖章以及生成最终的投标文件时,也可能为了测试,电脑上保存了很多副本。这样的行为很常见,比如此次测试时将电子投标文件保存到了一个地方,下一次再生成时,又放在了另一个地方。切记,不要在电脑上保存多个副本,有时候选择的时候,文件名一样,如果不注意路径,很可能就选错了。

那么上传之后,如何核实该文件跟本地的文件一致呢?答案很简单,就是利用文件指纹验证。大部分系统上传投标文件时,都会有打印回执的地方,回执里面显示了上传的时间,名称等信息,最后面还一个文件指纹或者唯一码,利用该信息就能够验证上传的是否跟本地是同一个文件。

文件指纹是一串大写字母或数字组成的字符串,相同内容生成的文件指纹一样。因此我们只需要将本地投标文件生成文件指纹,然后对比就可以了。生成文件指纹的简单方法是:

第一步,按WIN+R键,运行CMD,打开命令行工具,然后进入投标文件保存的地址。

第二步,生成文件的指纹,常见的是MD5编码或者是SHA编码,具体命令如下:
certutil.exe -hashfile filename -MD5
certutil.exe -hashfile filename -SHA1
certutil.exe -hashfile filename -SHA256
filename就是相应的文件名称。