刷leetcode,回顧一些python的方法和知識點:
enumerate(iterable, start=0) 列舉方法,iterable引數必須是一個序列(sequence),迭代器(iterator)或者一些其他的可供迭代的物件(object),start引數為下標起始位置,默認為0,enumerate() 將可迭代的物件組合成索引序列,同時列出索引和對應資料,常用于for回圈當中, 官方代碼舉例:>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] >>> list(enumerate(seasons)) [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')] >>> list(enumerate(seasons, start=1)) [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
等同于:
1 def enumerate(sequence, start=0): 2 n = start 3 for elem in sequence: 4 yield n, elem 5 n += 1
用于for回圈:
1 for i,j in enumerate(seasons): 2 print(i,j)
輸出:
0 Spring 1 Summer 2 Fall 3 Winter
(2020/4/9出現于兩數之和,在python中用字典模擬hash表,犧牲空間復雜度換取時間復雜度)
divmod(a, b)將兩個非復數作為引數,回傳由他們的商(quotient)和余數(remainder)組成的元組(tuple)(a // b, a % b).,也可用于浮點數的操作,復數不行(python3.6版本)>>>divmod(7, 2) (3, 1)(2020/4/10兩數相加,處理鏈表,逐位相加,用divmod處理進位,注意空鏈表的情況)
-
關于串列的操作
添加/合并:
list.append(obj) 在串列末尾添加物件list.extend(seq) 在串列末尾添加seq序列的所有元素,實作串列的合并+ 運算子: 串列使用“+”相加實作串列的合并,效果同extend()list.insert(index, obj) 將指定物件插入到串列中指定位置處洗掉:
list.pop([index=-1]) 將串列指定位置的元素彈出(默認最后一個),并且回傳值為彈出的元素list.remove(obj) 將串列中的第一個obj洗掉(2020/4/11無重復字符的最長子串,用暴力解法會超出時間限制,用動態規劃解決)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/160784.html
標籤:Python
