----------python----------
small__snail__5
如果有一天您来到了这里请留下您的痕迹,欢迎各种评论,一同进步。
我愿意做一只小蜗牛,不艳羡别人的速度,而独享自己的慢慢旅程,总有一天,我也可以骄傲的告诉所有人,我虽然慢,但是我不曾放弃,人生总要坚持点什么。
展开
-
python中的dict与set以及可变对象
1.dict与c++中的map操作基本是一样的(目前看来),主要是键值的映射关系操作操作方法如下:dict_test = {'a': 1, 'b': 2, 'c': 3}print(dict_test['a']) #output 1print('z' in dict_test) #output falseprint(dict_test.get('z')) #outpu...原创 2018-05-04 18:20:24 · 1977 阅读 · 2 评论 -
python中yield简单理解(斐波那契数列)
###对于yield通过下面一段代码做一个简单描述:#python3def fib(n): cnt = 1 a,b = 0,1 while cnt <= 10: cnt += 1 yield b a, b = b, a+bfor i in fib(10): print(i)这是一段前n个斐波那契数列的代码,...原创 2018-07-03 21:08:17 · 1485 阅读 · 0 评论 -
python列表元素的删除
#今天看到有人说列表删除元素会碰到index out of range的问题:lst = [0, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 1, 0, 44, 1, 0]for i in range(len(lst)): if(lst[i] == 0): del lst[i]#list index out of ra...原创 2018-06-07 20:36:45 · 865 阅读 · 0 评论 -
HackerRank Triangle Quest 2
###给你一个正整数n,例如n=5,则输出:1121123211234321123454321###思路:这就是1,11,111,1111...的平方,题目不让用字符串做,或者代码不能超过一行见代码:for i in range(1,int(input())+1): #More than 2 lines will result in 0 score. Do not leave a blan...原创 2018-06-22 10:29:34 · 244 阅读 · 0 评论 -
HackerRank Piling Up!
###题意:多组输入一个n个数字,灭个数字代表正方体的边长,要求每次从这给定的n个正方体中的最左边或者最右边拿一个正方体放置将他们摞起来,要保证下面的正方体时钟比上面的大。###思路:题目告诉要每次从最左或者最右拿,那么我们用两个指针分别指向列表头和列表尾部,每次从头和尾两个中选取一个大的,若选中的头则头指针+1,若选中的尾尾指针-1,当然每次应该将选出来的与当前已经摞好的最小值比较若大于最小值结...原创 2018-06-22 09:35:50 · 347 阅读 · 0 评论 -
HackerRank Company Logo
###题意:任意给定一个字符串,求输出出现次数最多的三个字符,并输出次数,当次数相同时按照字典序输出###思路:通过可以排序的映射collections.OrderedDict(),对映射进行排序,排序用到了sorted函数,对相等用字典序是使用到了lambda表达式,先按照值排序,若相等则按照字符字典序。见代码:import collectionsif __name__ in "__main_...原创 2018-06-21 22:01:05 · 120 阅读 · 0 评论 -
HackerRank Compress the String!
###题意:给你一个由数字组成的串,输出每段连续出现的字符,及其出现次数,最少出现次数可以是1次###思路:记录第一次出现下标,每次将当前的和之前一个字符比较看是否一样,一样+1,不一样初始化为1.(这里还是沿用c++的思路,所以代码比较长),见代码:if __name__ in '__main__': str = input() #由于有重复的键不能申请dict,目前能想到的只有...原创 2018-06-21 11:22:22 · 160 阅读 · 0 评论 -
HackerRank Word Order
//题意:多组输入多个字符串,判断不重复的字符串的个数,并按照所给顺序输出字符串出现的次数//思路:用一个dict统计每个出现的次数,并输出即可,但是要注意按照原输入顺序,此时用到OrderedDict,它里面的元素是按照自己插入的顺序,dict按照hash是乱序的,见代码:import collectionsif __name__ in '__main__': n = int(inpu...原创 2018-06-20 22:42:34 · 160 阅读 · 0 评论 -
HackerRank Lists
//题意:题目自定一种对list操作的简单方法,每次告诉你一个操作,以及一些操作规则,按照操作规则完成即可//思路:按照最简单思路,将所有操作枚举出来,当然还有一种用eval的方法这种很简便,见代码(还是按照c++思路写的,没有switch,就只能用if了):# python3if __name__ == '__main__': N = int(input()) lst = []...原创 2018-06-05 21:47:11 · 599 阅读 · 0 评论 -
HackerRank Finding the percentage
//题意:给你n组数据,每一组由人名,数学,科学,化学成绩构成,任意输入一个名字,让你输出该人的平均成绩//思路:按照dict保存后,求和求平均即可,见代码:if __name__ == '__main__': n = int(input()) student_marks = {} for _ in range(n): line = input().spli...原创 2018-06-05 19:34:10 · 207 阅读 · 0 评论 -
HackerRank Nested Lists
//题意:给你n组数据,每组数据是一个人名对应一个分数,要求输出第二小分数的所有人名,人名不唯一//思路:很简单选出第二小的分数,根据字典的键值对items迭代,输出,但是输出记得排序,人名按照字典序输出,见代码://下面这一份是沿用c++思想和写代码的方式写的,因为刚刚学python,基本习题习惯都是沿用学acm的方式():if __name__ in '__main__': dict ...原创 2018-06-05 11:32:53 · 385 阅读 · 0 评论 -
python与c++中的迭代器使用示例
c++中用到迭代器访问容器的有很多,简单举例set中的访问方法,给set中扔进几个随机数,c++中set会自动从小到大排序,然后用迭代器访问方式访问其中的元素:#include <iostream>#include <stdlib.h>#include <set>using namespace std;int main(){ set <...原创 2018-05-24 11:04:47 · 304 阅读 · 0 评论 -
python3中的map
arr = map(int, input().split())这句话进场看见,在python2中:而python3中:arr = map(int, input().split()) #2 4 6 8print(arr) #output <map object at 0x0000025A09157F28>这样输出就行:arr = ...原创 2018-06-04 17:01:54 · 922 阅读 · 0 评论 -
关于python函数的参数问题(对同一块儿地址的操作)
下面有两份代码一份是python,一份是c++,这里python中的变量连续当作参数传递给函数,而导致结果的变化,实际原因是:list是一个变量指向[],每当调用一次函数也就相当于当前list与test是指向同一对象的变量,每次list向末尾添加一个单词后那么,test所指向的对象的值肯定也变化,跟下面c++这个全局变量目前感觉有点相似。def add(list = []): list.a...原创 2018-05-14 20:59:20 · 306 阅读 · 0 评论 -
python实现读取大量文件并通过正则识别文件内容并生成新的文件
### 最近在开发中有一个实际问题是,经常会有上千个.ksc文件(类似.txt)需要提取文件内容将并将文件内容写入其他目标文件中,最终读取目标文件字段提高开发效率。### 这里体会到了python的便捷和正则的强大之处import osimport reerroFile = []kscTxt = open("C:/Users/new/Desktop/ksc/ksc.tx...原创 2019-02-13 12:29:36 · 1861 阅读 · 0 评论