list列表排序html
def listdir(path): #返回一個排序後的目錄list files=os.listdir(path) files.sort(key=lambda x:str(x[:-4])) return files
生成一個000-999的字符串list列表 python
print (list('{:0>3}'.format(str(x)) for x in range(1000)))
3 in [1, 2, 3] True 元素是否存在於列表中 for x in [1, 2, 3]: print x, 1 2 3 迭代 L = list(range(100)) [0, 1, 2, 3, ..., 99] L[:10] #前10個數 L[-10:] #後10個數 L[10:20] #前11-20個數 L[:10:2] #前10個數,每兩個取一 L[:10:2] #前10個數,每兩個取一個: [0, 2, 4, 6, 8]
lambda語句中,冒號前是參數,能夠有多個,用逗號隔開,冒號右邊的返回值。正則表達式
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>> print reduce(lambda x, y: x + y, foo)
139
>>> f=lambda x,y:x if x >y else y >>> f(33,44) 44
x in y x在y中 -> True; x不在y中 -> False 複製問題 li1 = li2[:] 深拷貝(等同於 li1 = li2.copy()); 淺拷貝li1 = li2(li1會隨li2的變化而變) li1.clear() 清空列表,列表仍存在[]
三元操做符 small = x if x < y else y 至關於: if x < y: small = x else: small = y
from collections import Counteride
collections.Counter(參數) #參數能夠是list、str、tuple、None等等 #做用:統計參數每一個元素出現的次數 #返回:一個字典(元素做爲key存儲,元素出現次數做爲value存儲) #####例子: c = Counter('gallahad') # 輸出: Counter({'a': 3, 'd': 1, 'g': 1, 'h': 1, 'l': 2}) c.update('adc') # 在原來基礎上更新計數(直接修改c) # 輸出: Counter({'a': 4, 'c': 1, 'd': 2, 'g': 1, 'h': 1, 'l': 2}) c.most_common() # 輸出:[('a', 4), ('l', 2), ('d', 1), ('g', 1), ('b', 1), ('c', 1), ('h', 1)] # 至關於字典排序:sorted(c.items(), key=lambda asd:asd[1], reverse=True)
符號 ()小括號 -- 分組 []中括號 -- 字符類,匹配所包含的任一字符 #注:字符集合把【】裏面的內容看成普通字符!(-\^除外) {}大括號 -- 限定匹配次數 | 或 r'AC|D' -> AC或AD . 匹配任一字符(\ 除外) \. 匹配字符. ^ 脫字符 匹配輸入字符串的開始位置 # r'^AC' 匹配字符串末尾 # r'AC匹配字符串末尾 # r'AC' \b 匹配一個單詞的邊界 (單詞定義爲字母,數字,下劃線) ;\B 與 \b相反 匹配非單詞邊界 \d 匹配任一數字[0-9] ; \D 與 \d相反,[^0-9] \s 匹配空白字符【\t \n \r \f \v】;\S與\s相反 \w 匹配字母 數字 下劃線(中文也能夠) 【a-z A-Z 0-9 _】; \W與\w相反 * 匹配子表達式0次或屢次,等價於 {0,} + 匹配子表達式1次或屢次,等價於 {1, } ? 匹配子表達是0次或1次,等價於{0,1} 貪婪模式 貪婪模式(python正則表達式中默認使用),儘量多的去匹配 s = '<html><title>ssss<\html><\title>' re.search(r'<.+>',s) #輸出: '<html><title>ssss<\html><\title>' 啓用非貪婪模式 re.search(r'<.+?>', s) # 輸出: <html> 命令 1. re.search() 複製代碼 s = 'Bo ke yuan' result = re.search(r'(\w+) (\w+)', s) result.group() # 'Bo ke' result.group(1) # 'Bo'; result.group(2) # 'ke' result.start() #0 (匹配起始位置) result.end() #5 (匹配結束位置) result.span() #(0, 5) (匹配範圍) 複製代碼 2. re.findall() 若是給出的正則表達式包含子組,就會把子組的內容單獨返回回來。 若包含多個子組,將匹配的內容組合成元組返回 如何讓子組不捕獲內容? 非捕獲組(?:) 把全部出現子組的地方都加 ?: 3. re.compile() 編譯正則表達式 若是你須要重複的使用某個正則表達式,那麼你能夠先將正則表達式編譯成模式對象。 p = re.compile(r'[A-Z]') p.search('Bo Ke Yuan') # ['B'] p.findall('Bo Ke Yuan') # ['B', 'K', 'Y'] 2. 參數:argparse 基本用法: 複製代碼 import argparse # step1. 導入模塊 parser = argparse.ArgumentParser() # step2. 建立參數解析對象 parser.add_argument() # step3. 添加參數 """位置參數:parser.add_argument("echo", help="參數描述") 必選 可選參數: parser.add_argument("--verbosity", help="參數描述") 可選 """ args = parser.parse_args() # step4. 解析參數 """位置參數訪問:args.echo 可選參數訪問:args.verbosity """