1.python中for _ in range(10) 与 for i in range(10):
for _ in range(n) 一般仅仅用于循环n次,不用设置变量,用 _ 指代临时变量,只在这个语句中使用一次。
在循环中两者的作用相似。
2.Python 三元表达式写法 A if x else B ,代表当 x = Truex=True 时执行 A ,否则执行 B。
# 如下代码:表示l1为真,执行cur.next = l1,否则执行cur.next = l2
cur.next = l1 if l1 else l2
3.return not的妙用:
在剑指offer31题中:最后返回语法为:
return not stack # 这里stack为空, not stack意思是返回一个bool类型true
4.python中的pop()函数和popleft()函数
首先对于pop而言,它是用于stack中的,可以带参数:
而对于pooleft是用于collections中,不可以带参数
5.from functools import partial
简单而言,partial 函数的功能就是:把一个函数的某些参数给固定住,返回一个新的函数。需要注意的是,我们上面是固定了 multiply 的关键字参数 y=2,如果直接使用:
downsample = partial(downsample_basic_block,
planes=planes * block.expansion,
stride=stride)
6.剑指offer50题
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
代码如下:
# 1.哈希表
class Solution:
def firstUniqChar(self, s: str) -> str:
dic = {
}
for c in s:
dic[c] = not c in dic
for c in s:
if dic[c]: return c
return ' '
# 2.有序哈希表
class Solution:
def firstUniqChar(self, s: str) -> str:
dic = collections.OrderedDict()
for c in s:
dic[c] = not c in dic
for k, v in dic.items(