真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python全棧開發(fā)之?dāng)?shù)據(jù)類型

No.1 字符串

Python字符串對象提供了大量方法用于字符串的檢測、替換和排版等操作,另外還有大量內(nèi)置函數(shù)和運算符也支持對字符串的操作,字符串對象是不可變的,所以字符串對象提供的字符串方法都是返回修改后的新字符串

創(chuàng)新互聯(lián)2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站制作、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元興安做網(wǎng)站,已為上家服務(wù),為興安各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220

  • find() 檢測一個字符串是否包含在另一個字符串中,如果找到返回開始的索引值,否則返回-1
  • rfind() 類似于find()函數(shù),不過是從右邊開始查找
  • index() 和find()方法一樣,只不過如果字符串不在另一個字符串中會報一個異常.
  • rindex() 類似于index(),不過是從右邊開始查找
  • count() 返回一個字符串在另一個字符串中出現(xiàn)的次數(shù)
  • split(str[,num]) 以str為分隔符切片string,如果num有指定值,則僅分隔num個子字符串
  • rsplit(str[,num]) 以str為分隔符切片字符串,如果num有指定值,則僅分隔num個子字符串
  • partition(str) 從str出現(xiàn)的第一個位置起,把字符串分成一個3元素的元組
  • rpartition(str) 類似于partition函數(shù)不過是從右邊開始查找.
  • join(str) 以str作為分隔符,將seq中所有的元素合并為一個新的字符串
  • lower() 轉(zhuǎn)換字符串中所有大寫字符為小寫.
  • upper() 轉(zhuǎn)換字符串中的小寫字母為大寫
  • capitalize() 首字母大寫
  • title() 返回標(biāo)題化的字符串,每個單詞首字母都是大寫
  • swapcase() 翻轉(zhuǎn)字符串大小寫
  • replace(str1,str[,num]) 把字符串中的str1替換成str2,如果num指定,則替換不超過num次.
  • strip() 刪除字符串兩邊的空格
  • rstrip() 刪除字符串末尾的空格.
  • lstrip() 刪除字符串左邊的空格
  • startswith(str) 檢查字符串是否以str開始,如果是,返回 True,否則返回 False
  • endswith(str) 檢查字符串是否以str結(jié)束,如果是,返回 True,否則返回 False
  • isalnum 如果字符串中存在一個數(shù)字則返回True,否則返回False
  • isalpha() 全部為字母返回True,否則返回False
  • isdigit() 全部為數(shù)字返回True,否則返回False
  • isspace() 如果字符串中只包含空格,則返回True,否則返回False
  • isupper() 如果字符串中包含至少一個區(qū)分大小寫的字符,并且所有這些字符都是大寫,則返回 True,否則返回 False
  • islower() 如果字符串中包含至少一個區(qū)分大小寫的字符,并且所有這些字符都是小寫,則返回 True,否則返回 False
  • center() 返回指定長度的字符串,居中對齊,以空格填充
  • ljust() 返回指定長度的字符串,左對齊,以空格填充
  • rjust()返回指定長度的字符串,右對齊,以空格填充
  • zfill() 反hi制定長度的字符串,左對齊,在左側(cè)填充數(shù)字0

No.2 列表

列表是最重要的Python內(nèi)置對象之一,是包含若干元素的有序連續(xù)內(nèi)存空間,當(dāng)列表增加或刪除元素時,列表對象自動進(jìn)行內(nèi)存的擴(kuò)展和收縮,從而保證相鄰元素之間沒有縫隙

  • append(x) 將x添加到列表尾部

  • extend(L) 將列表L內(nèi)所有元素追加到列表尾部

  • insert(x,index) 在列表index的位置插入x,如果index為整數(shù)或者大于列表長度,則將x添加到列表尾部,如果index為負(fù)數(shù)或者小于列表長度的相反數(shù)則在列表頭部插入x

  • remove(x) 在列表中刪除第一個值為x的元素

  • pop([index]) 彈出索引為index的值,如果不指定index則刪除最后一個怨怒是

  • clear() 清空列表,保留列表對象

  • index(x) 返回x的索引,如果不存在則拋出異常

  • count(x) 返回x在列表中出現(xiàn)的次數(shù)

  • reverse() 將列表逆轉(zhuǎn)

  • sort(key=None,reverse=False) 對列表中的元素進(jìn)行排序,key表示排序規(guī)則,F(xiàn)alse表示升序,True表示降序

  • copy() 淺拷貝
L1 = [1,2,3,4]
L2 = [5,6,7,8]
L1 = L1+L2 會產(chǎn)生并返回一個新列表
L1 += L2 實質(zhì)上是調(diào)用extend,并不會產(chǎn)生新列表,效率比+高,推薦使用+=
  • 列表推導(dǎo)式
    [x*x for x in range(10)]
    # 實現(xiàn)嵌套列表的平鋪
    vec=[[1,2,3],[4,5,6],[7,8,9]]
    [num for elem in vec for num in elem] # 輸出[1,2,3,4,5,6,7,8,9]
    # 過濾不符合元素
    import os
    [filename for filename in os.listdir('.') if filename.endswith('.py')]
    # 同時遍歷多個列表或可迭代對象
    [(x,y) for x in range(1,4) for y in range(1,6,2) if x==y] 輸出[(1, 1), (3, 3)]
    # 使用列表推導(dǎo)式實現(xiàn)矩陣轉(zhuǎn)置
    mattrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
    [[row[i] for row in mattrix] for i in range(10)]# 輸出[[1,5,9],[2,6,10],[3,7,11],[4,8,12]]
    # 列表推導(dǎo)式可以使用函數(shù)或復(fù)雜表達(dá)式
    def fun(x):
    if x%2==0:
        return x**2
    else:
        return x+1
    [fun(x) for x in range(4) if x>0] # 輸出[2,4,4,16]
    # 列表推導(dǎo)式支持文件迭代
    with open('my.ini','r') as f:
    print([line for line in f])
    # 使用列表推導(dǎo)式生成100以內(nèi)的素數(shù)
    from math import sqrt
    [p for p in range(2,100) if 0 not in [p%d for d in range(2,int(sqrt(p)+1))]]
  • 犀利的切片

    使用切片獲取列表部分元素

    num_list = list(range(10))
    num_list[::] # 返回包含原列表中所有元素的新列表
    num_list[::-1] # 返回包含原列表中所有元素的逆序列表
    num_list[::2] # 隔一個取一個,返回包含原列表中偶數(shù)位置的列表
    num_list[1::2] # 隔一個取一個,返回包含原列表中奇數(shù)位置的列表
    num_list[3:6] # 指定切片的起始位置
    num_list[0:100] # 切片結(jié)束位置大于列表長度時,從列表尾部截斷
    num_list[100] # 拋出異常,不允許越界訪問
    num_list[100:] # 切片開始位置大于列表長度時,返回空列表 

    使用切片為列表增加元素

    num_list[len(num_list):]=[9] # 在列表尾部插入元素
    num_list[:0]=[1,2] # 在列表頭部插入多個元素
    num_list[3:3]=[4] # 在列表的某個位置插入元素

    使用切片替換和修改列表中的元素

    num_list[:3]=[1,2,3] # 替換元素,等號兩邊的列表長度必須相等,否則拋出異常
    num_list[3:] = [4,5,6] # 連續(xù)替換
    num_list[::2]=[0]*3 # 隔一個替換一個
    num_list[1::2]=range(3) # 從開始位置隔一個替換一個

    使用切片刪除列表中的元素

    num_list[:3]=[] # 刪除前三個元素
    del num_list[::3] # 刪除前三個元素
    del num_list[::2] # 隔一個刪除一個

No.3 元組

  • 元組與列表的異同點

    列表和元組都屬于有序集合,都支持雙向索引訪問內(nèi)部,以及使用count()、index()、len()、map()、filter()、等大量內(nèi)置函數(shù)和+、*、+=、in等運算符,元組屬于不可變序列,列表屬于可變序列,因此,元組沒有提供append()、insert()、extend()等方法,同樣元組也沒有提供remove()、pop()方法,不能使用del刪除元組中的元素,只能使用del刪除整個元組,元組可以使用切片,但是只能使用切片訪問元素,不支持修改和刪除操作,而且元組在內(nèi)部做了大量優(yōu)化,因此,元組的效率比列表要高,訪問速度要比列表高許多,建議使用元組,因為元組的不可變性決定了使用元組更加安全可靠

  • 生成器推導(dǎo)式

    生成器推導(dǎo)式在用法上和列表推導(dǎo)式類似,形式上使用()作為定界符,最大的不同時生成器返回的是一個生成器對象,生成器對象和迭代器對象類似,都具有惰性的特點,只在調(diào)用時才會產(chǎn)生新元素,比列表推導(dǎo)式具有更高的效率,空間占用率低,適用于大數(shù)據(jù)的場景,使用生成器產(chǎn)生元素時,可以將其轉(zhuǎn)換為列表、元組,也可以使用生成器對象的next()方法和next()進(jìn)行遍歷,或者直接使用for循環(huán)遍歷,但是無論哪種形式,只能從前往后訪問其中的元素,不可以訪問已經(jīng)訪問過的元素

    g=(i**2 for i in range(10)) # 創(chuàng)建生成器對象
    print(g) # 輸出<generator object <genexpr> at 0x0000028366F8AAF0>
    tuple_g=tuple(g) # 將生成器對象轉(zhuǎn)換成元組
    print(tuple_g) # 輸出(0, 1, 4, 9, 16, 25, 36, 49, 64, 81)
    list_g=list(g) # 將生成器對象轉(zhuǎn)換成列表
    print(list_g) # 輸出[]
    g=(i**2 for i in range(10)) # 重新獲取生成器
    list_g=list(g) # 將生成器對象轉(zhuǎn)換成列表
    print(list_g) # 輸出[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
    g=(i**2 for i in range(10)) # 重新獲取生成器對象
    print(g.__next__()) # 輸出0
    print(next(g)) # 輸出1
    g=(i**2 for i in range(10)) # 重新獲取生成器對象
    for i in g:
    print(i,end=' ') # 輸出0 1 4 9 16 25 36 49 64 81

No.4 字典

字典中的每個元素表示一種映射關(guān)系或?qū)?yīng)關(guān)系,根據(jù)提供的鍵作為下標(biāo),可以訪問對應(yīng)的值,如果不存在這個鍵

會拋出異常,內(nèi)置函數(shù)len()、max()、min()、sum()、sorted()、map()、filter()、enumerate()等同樣適用于字典

  • get(x[,y]) 如果字典中存在該鍵則返回對應(yīng)的值,否則返回指定值

  • setdefault(x[,y]) 指定的鍵存在,返回對應(yīng)的值,如果鍵不存在,就添加一個新元素并設(shè)置對應(yīng)值默認(rèn)為None

  • values() 遍歷字典的值

  • keys() 遍歷字典的鍵

  • items() 遍歷字典的鍵和值

  • pop() 彈出指定鍵對應(yīng)的元素,并返回被刪除的元素

  • clear() 清空字典中的所有元素

  • copy() 返回字典對象的淺復(fù)制

No.5 集合

集合屬于Python無序可變序列,使用一對大括號作為定界符,元素之間使用逗號分隔,同一個集合內(nèi)的每個元素都是唯一的,元素之間不允許重復(fù),集合中只能包含數(shù)字、字符串、元組等不可變類型,內(nèi)置函數(shù)len()、max()、min()、sum()、sorted()、map()、filter()、enumerate()等同樣適用于字典

集合運算

num1 = {1,2,3,4,5}
num2 = {5,6,7,8,9}
print(num1|num2) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(num1.union(num2)) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
print(num1-num2) # {1, 2, 3, 4}
print(num1.difference(num2)) # {1, 2, 3, 4}
print(num1&num2) # {5}
print(num1.intersection(num2)) # {5}
  • set() 將列表、元組、字符串、range對象等其他可迭代對象轉(zhuǎn)換成集合,如果原來的數(shù)據(jù)中存在重復(fù)數(shù)據(jù),轉(zhuǎn)換成集合后將只保留一個,如果原序列有可變類型,將無法轉(zhuǎn)換成集合,拋出異常

  • add() 將元素添加到集合中,如果集合中存在該元素將忽略此操作

  • update() 將另一個集合中的元素添加到當(dāng)前集合中,并自動去除重復(fù)元素

  • pop() 隨機(jī)刪除并返回集合中的一個元素,如果集合為空則拋出異常

  • remove(x) 刪除集合中一個指定的元素,如果不存在則拋出異常

  • discard(x) 刪除集合中一個指定的元素,如果不存在則忽略此操作

  • clear() 清空集合

    No.6 內(nèi)置函數(shù)

  • abs(x) 返回數(shù)字x的絕對值或復(fù)數(shù)x的模
  • all(iterable) 如果可迭代對象iterable中所有元素x都等價于True,則返回True,否則,返回False,空迭代對象返回True
  • any(iterable) 只要可迭代對象iterable存在元素x使得bool(x)為True,則返回True,空迭代對象返回False
  • ascii(obj) 把對象轉(zhuǎn)換成ASCII碼表現(xiàn)形式
  • bin(x) 把整數(shù)x轉(zhuǎn)換為二進(jìn)制形式
  • bool(x) 返回x等價的布爾值
  • bytes(x) 生成字節(jié)串
  • callable(obj) 測試對象obj是否可調(diào)用
  • compile() 用于把Python代碼編譯成可被exec()或eval()函數(shù)執(zhí)行的代碼對象
  • complex(real,[imag]) 返回復(fù)數(shù)
  • chr(x) 返回Unicode編碼為x的字符串
  • delattr(obj,name) 刪除屬性,等價于del obj.name
  • dir(obj) 返回指定對象或模塊obj的成員列表,如果不帶參數(shù)則返回當(dāng)前作用域內(nèi)所有標(biāo)識符
  • divmod(x,y) 返回包含整商和余數(shù)的元組
  • enumerate(iterable[,start]) 返回包含元素形式為(start,iterable[0]),(start+1,iterable[1]),(start+2,iterable[2]),...的迭代器對象,start表示索引的起始值
  • eval(s[,globals[,locals]]) 計算并返回字符串s中表達(dá)式的值
  • exex(x) 執(zhí)行代碼或代碼對象x
  • exit() 退出當(dāng)前解釋器環(huán)境
  • filter(func,seq) 返回fiter對象,其中包含序列seq中使得單參數(shù)函數(shù)func返回值為True的那些元素,如果函數(shù)func為None則返回包含seq中等價于True的元素的filter對象
  • float(x) 把整數(shù)或字符串x轉(zhuǎn)換為浮點并返回
  • frozenset([x]) 創(chuàng)建不可變的集合對象
  • getattr(obj,name[,default]) 獲取對象中指定屬性的值,等價于obj.name,如果不存在指定屬性則返回default的值,如果要訪問的屬性不存在并且沒有指定的default則拋出異常
  • globals() 返回包含當(dāng)前作用域內(nèi)全局變量及其值的字典
  • hasattr(obj,name) 測試對象obj是否具有名為name的成員
  • hash(x) 返回對象x的哈希值,如果x不可哈希則拋出異常
  • help(obj) 返回對象obj的幫助信息
  • hex(x) 把整數(shù)x轉(zhuǎn)換為十六進(jìn)制
  • id(obj) 返回對象obj的地址
  • input([提示]) 顯示提示,接受鍵盤輸入的內(nèi)容,返回字符串
  • int(x[,d]) 返回實數(shù)、分?jǐn)?shù)或高精度實數(shù)x的整數(shù)部分,或把d進(jìn)制的字符串x轉(zhuǎn)換為十進(jìn)制并返回,d默認(rèn)為十進(jìn)制
  • isinstance(obj,class) 測試對象obj是否屬于指定類型
  • insubclass(cls,class) 測試類cls是否為指定類型的子類,用法與isinstance()函數(shù)相似
  • iter(...) 返回指定對象的可迭代對象
  • len(obj) 返回對象obj包含的元素個數(shù),適用于列表、元組、字典、字符串以及range對象,不適用于具有惰性求值特點的生成器對象和map、zip等迭代對象
  • list([x])、set([x])、tuple([x])、dict([x]) 把對象x轉(zhuǎn)換成為列表、集合、元組或字典并返回,或生成空列表、空集合、空元組、空字典
  • locals() 返回包含當(dāng)前作用域內(nèi)局部變量及其值的字典
  • map(func,*iterables) 返回包含若干函數(shù)值的map對象,函數(shù)func的參數(shù)分別來自與iterables指定的一個或多個迭代對象
  • max(...)、min(...) 返回多個值中或者包含有限個元素的可迭代對象中所有元素的最大值、最小值,要求所有元素之間可比較大小,允許指定排序規(guī)則,參數(shù)為可迭代對象時還允許指定默認(rèn)值
  • next(iterator[,default]) 返回迭代對象x中的下一個元素,允許指定迭代結(jié)束之后繼續(xù)迭代時返回的默認(rèn)值
  • oct(x) 把整數(shù)x轉(zhuǎn)換為八進(jìn)制串
  • open(fn[,mode]) 以指定模式mode打開文件fn并返回文件對象
  • ord(x) 返回一個字符x的Unicode字符
  • pow(x,y,z) 返回新的y次方,等價與xy或(xy)%z
  • print(value,...sep='',end='\n',file=sys.stdout,flush=False) 基本輸出函數(shù),默認(rèn)輸出到屏幕,相鄰數(shù)據(jù)使用空格分隔,以換行符結(jié)束所有數(shù)據(jù)的輸出
  • quit() 退出當(dāng)前解釋器環(huán)境
  • range([start,]end[,step]) 返回range對象,其中包含左閉右開區(qū)間[start,end)內(nèi)以step為步長的整數(shù)
  • reduce(func,sequence[,initial]) 將雙參數(shù)的函數(shù)func以迭代的方式從左到右依次應(yīng)用至序列seq中每個元素,并把中間計算結(jié)果作為下一次計算的操作數(shù)之一,最終返回單個值作為結(jié)果(from functools import reduce)
  • repr(obj) 返回對象obj的規(guī)范化字符串表示形式,對于大多數(shù)對象有eval(repr(obj))==obj
  • reversed(seq) 返回seq(可以是列表、元組、字符串、range等對象)中所有元素逆序后的迭代器對象,不適用于具有惰性求值特點的生成器對象和map、zip等可迭代對象
  • round(x[,小數(shù)位數(shù)]) 對x進(jìn)行四舍五入,若不指定小數(shù)位數(shù),則返回整數(shù)
  • sorted(iterable,key=None,reverse=False) 返回排序后的列表,其中iterable表示要排序的序列或迭代對象,key用來指定排序規(guī)則或依據(jù),reverse用來指定升序或降序
  • str(obj) 把對象obj直接轉(zhuǎn)換為字符串
  • sum(x,start=0) 返回序列x中所有元素之和,允許指定起始值start,返回start+sum(x)
  • type(obj) 返回對象obj的類型
  • zip(seq1[,seq2[...]]) 返回zip對象,其中元素為(seq1[i],seq2[i],...)形式的元祖,最終結(jié)果中包含的元素個數(shù)取決于所有參數(shù)序列或可迭代對象中最短的那個

分享文章:Python全棧開發(fā)之?dāng)?shù)據(jù)類型
當(dāng)前網(wǎng)址:http://weahome.cn/article/jsjodp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部