【高效率python刷Letecode笔记】python刷Letecode小技巧

虽然目前主流的刷题语言是c++、c,但是看目前的趋势python的应用场景会越来越多,手写c++的需求会逐渐减少,可能在不久python刷题会成为新趋势。
在使用python进行刷题的过程中,会遇见很多的小技巧,本文专门记录这些truck,会不断更新哦,欢迎留言:)

1. str.lstrip([chars])

lstrip() 方法用于截掉字符串左边的空格或指定字符。

str.lstrip([chars])

2. map(str,)、map(, int)

str、int类型转换

将*转换为str类型

map(str,*)

将*转换为int类型

map(*, int)

3. ‘str’.join(list)

使用固定字符串将list列表连接起来,变为字符串

'str'.join(list)

4. intervals.sort(key=lambda x: x[0])

将高纬列表中的第一维按第二维进行排序

intervals.sort(key=lambda x: x[0])

5. [0] * n

构建包含n个0的数组[0, …, 0]

[0] * n

6. a.insert()

在列表a中第0个位置插入"HIGH!"

a.insert(0,"HIGH!") 

7. np.nonzero(b0)

返回非零位置索引

np.nonzero(b0)

8. 开方、乘方及其之间的转换

开方

 math.sqrt(x)

乘方

a**b

或者

pow(a,b)

开方可以转换为乘方
x = x 1 / 2 = ( e l n x ) 1 / 2 = e 1 / 2 l n x \sqrt{x} = x^{1/2} = (e^{lnx})^{1/2} = e^{1/2lnx} x =x1/2=(elnx)1/2=e1/2lnx

9. all()

判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

10. sum(nums,[])

一行代码进行list降维

nums=[[1,2],[3,4]]
print sum(nums,[])
# 结果:[1,2,3,4]

11. combinations(range(1, n+1), k)

生成指定长度的排列组合

from itertools import combinations
list(combinations(range(1, n+1), k))

12. Counter(colors)

from collections import Counter
colors = ['red', 'blue', 'red', 'green', 'blue', 'blue']
c = Counter(colors)
print (dict(c))

13. collections.deque()

构建双边队列(double-ended queue),具有队列和栈的性质

d = collections.deque([])
d.append('a') # 在最右边添加一个元素,此时 d=deque('a')
d.appendleft('b') # 在最左边添加一个元素,此时 d=deque(['b', 'a'])
d.extend(['c','d']) # 在最右边添加所有元素,此时 d=deque(['b', 'a', 'c', 'd'])
d.extendleft(['e','f']) # 在最左边添加所有元素,此时 d=deque(['f', 'e', 'b', 'a', 'c', 'd'])
d.pop() # 将最右边的元素取出,返回 'd',此时 d=deque(['f', 'e', 'b', 'a', 'c'])
d.popleft() # 将最左边的元素取出,返回 'f',此时 d=deque(['e', 'b', 'a', 'c'])
d.rotate(-2) # 向左旋转两个位置(正数则向右旋转),此时 d=deque(['a', 'c', 'e', 'b'])
d.count('a') # 队列中'a'的个数,返回 1
d.remove('c') # 从队列中将'c'删除,此时 d=deque(['a', 'e', 'b'])
d.reverse() # 将队列倒序,此时 d=deque(['b', 'e', 'a'])

14、set()

常用的集合操作,如差集等,大家肯定都了解,如果判断集合与集合间的关系,可以使用issubset函数快捷操作

set(x).issubset(set("qwertyuiopQWERTYUIOP"))
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值