python常见使用操作

  1. 数组反转:
  • nums[::-1], 比如nums=[1,2,3], 那么nums[::-1]=[3,2,1]
  • nums.reverse()函数也是可以的
  • reverse函数和nums[::-1]区别在于:reverse操作之后nums本身也进行了改变,即nums[::-1] = [3,2,1],而nums=[1,2,3]; 而nums.reverse() = [3,2,1], nums=[3,2,1]
  1. range的使用:
  • range(x,y,z): x:表示起始的标号;y:表示小于该值推出循环;z:表示每次跨越步数
  1. **collections.Counter(): **
  • 对于一个数组nums=[1,2,3,1], 若进行 nmap = collections.Counter(nums),则会得到一个字典:{1:2, 2:1, 3:1}.
  • 使用Counter构建的字典和使用damp={}构架的字典区别在于,Counter的使用即使当时不存在key,也可以执行nmap[key]+=1(它会默认nmap[key]=0),而直接使用字典则会报错
  1. enumerate函数的使用:
  • 比如nums=[3,5,10,2], 那么enumerate(nums)则可以得到key-value对,其中key表示该元素对应的标号,val表示原来数组中的值。 如0:3,1:5等,其中0表示3所在的数组中的位置,3表示该数组的值
  1. python字符串的特性:
  • 'a'*3 = 'aaa';
  • join函数的使用,比如' '.join(nums),如果nums为空则返回空;nums为一个元素,则返回该元素;否则的话,返回nums中每个元素间加上一个空格所构成的字符串
  1. python dict 同一个key 对应多个value:
  • dmap={}
    • dmap.setdefault(val,set()).add(); set 对应是add操作
    • dmap.setdefault(val,[]).append(); list 对应是append操作
    • dmap.setdefault(val,{})[keyin]=[valuein]
  1. 字符串的处理:
  • chr(): 将int数据转位字符型数据,如chr(97)='a';
  • ord(): 将char数据转为int型数据,如ord('a')=97;
  • isalnum() : 字符串操作方法,检测字符串是否由字母和数字组成。如'aba123'.isalnum()=True;'aba,.,123'=False
  1. list基本操作:
  • L.append(val) #追加元素
  • L.insert(index, var) #在某个具体位置加入元素
  • L.pop(var) #返回最后一个元素,并从list中删除之,该方法适用于stack
  • L.remove(var) #删除第一次出现的该元素,如果有重复数据时注意该方法的使用,免得造成数据误删除
  • L.count(var) #该元素在列表中出现的个数
  • L.index(var) #该元素的位置, 无则抛异常
  • L.extend(list) #追加list,即合并list到L上
  • L.sort() #排序,该操作后原数组的也会发生变化
  • L.reverse() #倒序 原数组不会发生变化
  1. tuple的神奇之处:
  • python中list、dict是不可以作为key值的进行hash的,而python中的tuple是可以进行hash的!!该操作在某些字符串处理中有很大的作用!
  • tuple([2,1,4,5,1]) = (2,1,4,5,1)
  1. heapq模块:
    处理topN问题时经常要使用到堆这种数据结构。c++中有大(小)顶堆,而在python 中就要使用heapq模块来实现相同的操作。在python中可以将堆看成一种特殊结构的列表,该列表具备堆的性质。heapq有如下常见操作:import heapq as hq
    heapq官方文档及说明
  • heappush(): hq.heappush(heap,value), 将value压入堆数组heap中,从而构建堆结构(默认最小顶堆)
  • heappop(): hq.heappop(heap), 从heap堆中删除最小的值,并返回
  • heapify():hq.heapify(list), 该操作将list类型转位最小顶堆,注意一定要是list类型才能转换
  • heap.nlargest(k, list)以及heap.nsmallest(k, list): 从名字上可知,两个函数分别获去堆的前k大以及前k小元素。即输入一个list类型先转换为堆,从而获取topN的元素。
  • heap.merge(iterables):* heapq模块提供的归并操作
>>> a=[1,3,5]         
>>> b=[2,4,6]
>>> c=merge(a,b)
>>> list(c)
[1, 2, 3, 4, 5, 6]
  • heapq.heappushpop(heap, item)以及heapq.heapreplace(heap, item): 上述两个函数将push和pop操作合并一起,前者先进行push然后再pop,后者先进行pop然后再进行push操作。注意:如果heapreplace对于空列表操作会报错
  1. bisect模块:
    bisect模块使用时要保证列表已经是有序的。
  • insort函数:bisect.insort(data,value),将value插入到已有列表data中,插入结果不会影响原来的排序
  • bisect函数:bisect.bisect(data,value),该函数的目的在于返回value需要插入到data列表中的位置并返回,但是不会执行插入操作。
  • bisect_left函数和bisect_right函数:与bisect函数的功能一样,但是这两个函数用来处理有重复值的情况,left表明返回重复值左边的位置,right反之
  • insort_left函数和insort_right函数:与insort函数功能一样,但是是用来处理重复值情况,left表明插入到重复值左边,right则反之。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容