摘要:函數(shù)的使用一般的字符串組合操作都建議使用字符串操作經(jīng)常使用的就另外還有里面可以寫成一個(gè)列表解析的形式而不是從列表中刪除多個(gè)相同的元素用是不行的只能刪除從左到右找到的第一個(gè)元素后面的不會(huì)刪除自認(rèn)為兩種比較好的方式如下或者隨機(jī)生成位字符串引用類
join函數(shù)的使用
一般的字符串組合操作都建議使用join, 字符串操作經(jīng)常使用的就join, split, replace, 另外還有partition
join里面可以寫成一個(gè)列表解析的形式
m = map(str, range(9)) ",".join(x for x in m if x != "3") # 而不是 ",".join([x for x in m if x != "3"])從列表中刪除多個(gè)相同的元素
用list.remove是不行的, 只能刪除從左到右找到的第一個(gè)元素, 后面的不會(huì)刪除
自認(rèn)為兩種比較好的方式如下
m = ["a", "b", "c", "a"] m = filter(lambda x: x !="a", m)
或者
m[:] = (x for x in m if x != "a")隨機(jī)生成n位字符串
import random import string rand_str = "".join([random.choice(string.letters+string.digits) for _ in xrange(n)])引用類型的問題 函數(shù)參數(shù)
函數(shù)默認(rèn)參數(shù),只在定義時(shí)參數(shù)求值了一次,函數(shù)的多個(gè)調(diào)用將使用同一個(gè)可變參數(shù)
def test(data, x=[]): x.append(data) return x print test(3) # [3] print test(4) # [3, 4]dict.fromkeys設(shè)置默認(rèn)值的問題
和函數(shù)參數(shù)問題一樣,多個(gè)鍵值對(duì)應(yīng)的value將調(diào)用同一個(gè)列表。設(shè)置為{}自然也是一樣的結(jié)果
>>> a = dict.fromkeys("bc", []) >>> a["b"].append(6) >>> a {"b": [6], "c": [6]}多個(gè)變量聲明
一般會(huì)有聲明多個(gè)空list和空dict的需求
將導(dǎo)致多個(gè)變量共享同一個(gè)[]或{}的錯(cuò)誤的做法
a = b = [] c = d = {}
正確的方式
a, b = [], [] # for a lot of var c, d, e, f = [{} for _ in xrange(4)]
其它int, str, bool等沒有此問題,可直接寫成
a = b = True
del的時(shí)候一次可以刪除多個(gè)
>>> a = range(3) >>> del a[2], a[0] >>> a [1]切片操作
可以用-1來反轉(zhuǎn)列表
>>> a = range(7) >>> a[::-1] [6, 5, 4, 3, 2, 1, 0] >>> a[::2] [0, 2, 4, 6]
用切片刪除某一段序列,等同于del a[1:4]
>>> a = [1, 2, 3, 4, 5, 6, 7] >>> a[1:4] = [] >>> a [1, 5, 6, 7]
去除偶數(shù)索引
>>> a = [0, 1, 2, 3, 4, 5, 6, 7] >>> del a[::2] >>> a [1, 3, 5, 7]關(guān)于省略號(hào)
主要用于多維矩陣中,減少定位操作時(shí)的復(fù)雜度,用得不多,更仔細(xì)的說明見這里
>>> class C(object): ... def __getitem__(self, item): ... return item ... >>> C()[1:2, ..., 3] (slice(1, 2, None), Ellipsis, 3)文件操作 一次讀取整個(gè)文件
使用二進(jìn)制模式,如rb模式, 使用r則只能讀取到一部分
with open(path, "rb") as f: return f.read()按行讀取
將文件對(duì)象看錯(cuò)iterator
with open(path, "r") as f: for line in f: print line
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/37742.html
??蘇州程序大白一文從基礎(chǔ)手把手教你Python數(shù)據(jù)可視化大佬??《??記得收藏??》 目錄 ????開講啦?。。?!????蘇州程序大白?????博主介紹前言數(shù)據(jù)關(guān)系可視化散點(diǎn)圖 Scatter plots折線圖強(qiáng)調(diào)連續(xù)性 Emphasizing continuity with line plots同時(shí)顯示多了圖表 數(shù)據(jù)種類的可視化 Plotting with categorical da...
摘要:的三種數(shù)據(jù)類型字典列表元組,分別用花括號(hào)中括號(hào)小括號(hào)表示。約等于上句,可能是因?yàn)樽远x變量名與內(nèi)部函數(shù)或變量同名了。下,默認(rèn)路徑一般為。的日志模塊中計(jì)時(shí)器定時(shí)器計(jì)劃任務(wù),。對(duì)象的問題怎樣忽略警告不打印煩人的警告打印到終端同時(shí)記錄到文件。 Python Enhancement Proposal。(PEP,Python增強(qiáng)建議書) Python之禪(import this) Pytho...
摘要:元組是靜態(tài)數(shù)組,它們不可變,且其內(nèi)部數(shù)據(jù)一旦創(chuàng)建便無法改變。元組緩存于運(yùn)行時(shí)環(huán)境,這意味著我們每次使用元組時(shí)無須訪問內(nèi)核去分配內(nèi)存。 以下是整理的JavaScript和python的基礎(chǔ)區(qū)別的整理: 字符串、列表、元組、字典、集合、函數(shù) 字符串 聲明一個(gè)字符串 python str = 123 str = 123 Tips: 如果是三個(gè)引號(hào)的話,那么在py中就是注釋的意思 ...
摘要:元組是靜態(tài)數(shù)組,它們不可變,且其內(nèi)部數(shù)據(jù)一旦創(chuàng)建便無法改變。元組緩存于運(yùn)行時(shí)環(huán)境,這意味著我們每次使用元組時(shí)無須訪問內(nèi)核去分配內(nèi)存。 以下是整理的JavaScript和python的基礎(chǔ)區(qū)別的整理: 字符串、列表、元組、字典、集合、函數(shù) 字符串 聲明一個(gè)字符串 python str = 123 str = 123 Tips: 如果是三個(gè)引號(hào)的話,那么在py中就是注釋的意思 ...
摘要:中的可以起到與此處相同的效果判斷奇數(shù)自然是使用位操作最快了刪除要?jiǎng)h除的數(shù)量較多超多一半的話,建議重新生成如果數(shù)量較少,在和都可以的情況下,稍快一些 給dict設(shè)置默認(rèn)值 這樣能設(shè)置所有key的默認(rèn)值為[],包括新添的key from collections import defaultdict context = defaultdict(list) setdefault一次只能設(shè)置一個(gè)...
閱讀 2125·2019-08-29 16:53
閱讀 2700·2019-08-29 16:07
閱讀 2043·2019-08-29 13:13
閱讀 3268·2019-08-26 13:57
閱讀 1332·2019-08-26 13:31
閱讀 2434·2019-08-26 13:22
閱讀 1222·2019-08-26 11:43
閱讀 2085·2019-08-23 17:14