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