python的資料類型及操作

來源:互聯網
上載者:User

標籤:列印   否則   item   api   方式   nes   replace   people   isp   

    簡述python的幾種簡單的資料類型及使用方式

字串

    字串是不可變資料類型,擁有多種內建方法可以操作。

    建立字串就是給變數分配一個字串的值即可。通常用引號建立字串。

tell = ‘my name is Jeff‘tell1 = "my name is Jeff"tell2 = ‘‘‘my name is Jeff,I‘m oldboy .‘‘‘

    字串切片

tell = ‘my name is Jeff‘print(tell[0])print(tell[:7])print(tell[:7]+‘\tfrank‘)運行結果mmy namemy name    frank

   使用split方法

tell = "my name is jeff "print(tell.split(‘a‘))運行結果[‘my n‘, ‘me is jeff ‘]

 

    字串格式化輸出

print(‘my name is %s‘%(‘jeff‘))運行結果my name is jeff
print(‘my name is {name}‘.format(name=‘jeff‘))運行結果my name is jeff

    字串的內建方法

    1.capitalize(整個字串首字母大寫,其他全部改為小寫)

    2.upper(整個字串全部大寫)lower(全部小寫)

    3.center(指定寬度和填充字元)

tell = "my name Is jeff "print(tell.center(50,‘*‘))運行結果*****************my name Is jeff *****************

    4.count(區間內某個字元的個數)

tell = "my name Is jeff "print(tell.count(‘m‘,0,5))運行結果1

    5.encode(編碼方式)

    6.endswith(以某字元,字串結尾)

tell = "my name Is jeff"print(tell.endswith("ff"))運行結果Ture

    7.expandtabs(選擇定位字元的寬度)

    8.find(索引字元的位置,沒有傳回值為-1)index(同find,但是他查不到會報錯)rfind(從右向左查同find)rindex(從右向左返回索引值同index)

    9.format(格式化輸出)format_map(格式化輸出,以字典形式儲存kv資料)

people={    ‘name‘:[‘Frank‘,‘Caroline‘,‘jeff‘],    ‘age‘:[‘23‘,‘22‘],}print("My name is {name[2]},i am {age[0]} years old !".format_map(people))運行結果My name is jeff,i am 23 years old !

    10.isalnum(是否是數字與字母的組合)isalpha(是否是字母組合)isdecimal(是否是十進位正整數)isdigit(是否是真整數)isdentifier(是否是python中的標識符)islower(判斷字串字母是不是都是小寫)isnumeric(是不是數字,無論中文還是其他只要是數字就能判斷)isprintable(是否可列印)isspace(是否都是空格,tab/r等)istitle(是否所有字元首字母大寫)傳回值都是bool值

    11.join(以指定字元串連產生新的字串)

tell = "my name Is jeff"print(‘=‘.join(tell))運行結果m=y= =n=a=m=e= =I=s= =j=e=f=f

    12.ljust與rjust指定字元寬度填充,與center類似

    

tell = "my name Is jeff"print(tell.ljust(20,‘=‘))print(tell.rjust(20,‘=‘))運行結果my name Is jeff==========my name Is jeff

    13.lstrip,rstrip,strip去前後空白\r\n等

    14.maketrans,translate

intab = "abcde"outtab = "12345"tell = "my name Is jeff"trantab = tell .maketrans(intab, outtab)print (tell.translate(trantab))運行結果my n1m5 Is j5ff

    15.partition(指定分隔字元,返回一個元組裡)rpartition(從右向左分割,只分割一次,若沒有指定字元返回元祖前面加兩個Null 字元串)split(指定字元分割,可指定分割次數分割後刪除指定的字元預設空格分割)rsplit(同split只是從右向左)

    16.replace(指定字元替換為新的字元,可指定個數)

    17.splitlines(將字串轉換為列表)

    18.startswith(是否是字串或字元開頭)

    19.swapcase(大小寫互換)

    20.zfill(與center類似,顯示在右邊不足寬度補零)

整型與長整型

    整型是不包含小數部分的數值,格式是“int”。長整型與整型類似只是數字比較大,格式是“type”。且長整型只存在於python2中,32位機器上取值範圍是-2**31~2**31-1,在64位機器上取值為-2**63~2**63-1。在python3中沒有整型與長整型的區分,只有整型。

浮點型

    我們可以簡單的把浮點型看做是小數。格式類型是“type”。浮點型除了作為小數輸出還常用於科學計數法中。

a=1.23e10b=1.23E10print(a)print(b)print(type(a))print(type(b))輸出結果12300000000.012300000000.0<class ‘float‘><class ‘float‘>
bool型

    bool類型的傳回值只有兩種:True和False。

    邏輯運算:

    1.與運算:and(兩個都為True,結果才為True)

    2.或:or(只要一個為True,則為True)

    3.非:not(把True變為False,把False變為True)

    短路運算:

    布爾類型還可以與其他資料類型進行邏輯運算,python中0、Null 字元串、None、空列表、空字典等為False,其他數值和非Null 字元串為True。

    1.在計算a and b時,如果a是True,則計算結果取決於b,則返回b;如果a是False,則直接返回a。

    2.在計算a or b時,如果a是True,則直接返回a;否則返回b。

    bool類型還可以當做整型的0和1使用。

print(True+13)    #True為1print(False+13)   #False為0輸出結果1413
列表

    列表是由一系列按特定順序排列的元素組成。在python中,用方括弧表示列表,並用逗號來分割其中的元素,格式類型為“list”。

    列表的內建方法有:

    1.append(在列表的最後添加某個元素)insert(也是添加元素,但是可以通國索引指定插入具體位置)

    2.count(某個元素的個數)

    3.clear(清空列表)

    4.copy(複製列表)

name = [‘jeff‘,‘Frank‘,1,{‘xixi‘:‘sabi‘},[3,4]]name_cp = name.copy()print(name_cp)name[0]=‘Tom‘name[2]= 7print(name)print(name_cp)運行結果[‘jeff‘, ‘Frank‘, 1, {‘xixi‘: ‘sabi‘}, [3, 4]][‘Tom‘, ‘Frank‘, 7, {‘xixi‘: ‘sabi‘}, [3, 4]][‘jeff‘, ‘Frank‘, 1, {‘xixi‘: ‘sabi‘}, [3, 4]]

    註:改變列表name中的元素name.copy中的值也隨著變化。但是改變列表name中的列表值,name.copy的列表值是不會變得。由於列表中的列表開闢的空間是不變的(列表本身是可變資料類型)name與name.copy指向的是同一個地址,裡面儲存的值會一起改變。

    5.deepcopy與copy類似,但是無論copy原列表如何變化,deepcopy的列表都會與列表一起變化,即兩者指向統一的資料空間。

    6.extend(函數用於在列表末尾一次性追加另一個序列中的多個值,用新列表擴充原來的列表。)

name = [‘Saber‘,‘Frank‘]nameto = [‘Mei‘,‘Jack‘]name.extend(nameto)print(name)運行結果[‘Saber‘, ‘Frank‘, ‘Mei‘, ‘Jack‘]

    7.index(尋找相應元素的索引值,可指定索引範圍並且查不到也不會報錯)

    8.pop(彈出元素,不指定預設彈出最後一個值,索引失敗會報錯,彈出的值可以儲存到其他列表或變數裡。)remove(也是移除,可指定移除的具體元素)del(無敵的移除手段)

    9.reverse(將列表中元素反轉過來)

    10.sort(將列表排序,永久修改可通過reverse=True傳遞倒著排序)sorted(與sort類似但是不改變原列表的元素)

    11.len(查看列表的長度)

元組

    與列表很相似,只是不可以進行修改。若是要改變元組中的值只能夠改掉整個元組咯。

集合

    集合是無需元素組成,列印時順序也是無序的,但是集合中沒有重複的元素,所以我們常使用集合去重。

    我們有兩個集合a與b:

    a與b的交集為a.intersection(b)或者a & b。

    a與b的差集為a.difference(b)或者a-b。

    a與b的並集為a.union(b)或者a|b。

    反向差集與對稱差集(並集減去交集)為a.symmetric_difference(b)或者a^b。

    合并為a.update(b),a.difference_update(b)求差集並賦值給a集合

    刪除元素可用discard(元素)或者remove(元素),pop()是隨機刪除一個元素。

    註:set是可變資料類型,但是set裡面的元素一定是不可變資料類型。

字典

    在python裡面,字典就是一系列的鍵-值對,每個鍵都與一個值是對應的,鍵可以是數字、字串、列表和字典。任何python對象都可用作字典的值。

    字典中常用的內建方法有:

    keys(取出字典中的key)

    values(取出字典中的value)

    clear(清空所有索引值對)

    copy(與列表一致)

    fromkeys(建立新的列表所有的值都是同一個value)

key = (1,2,3,4,5)value = (‘a‘,‘b‘,‘c‘,‘d‘,‘e‘)print(dict.fromkeys(key,value))運行結果{1: (‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘), 2: (‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘), 3: (‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘), 4: (‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘), 5: (‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘)}

    get(尋找的一種方式,找不到對象返回None)

    item(返回索引值對)

    pop(指定key,彈出此索引值對)

    popitem(彈出最後一個索引值對返回到元組中,沒有會報錯)

    update(將新的字典添加到原來的字典,若原來的字典包含了這個鍵則覆蓋原來的值)

    setdefault(k,v)如果鍵在字典中,則返回這個鍵的值,如果不在字典中,則向字典中插入這個鍵,並返回value,預設value位None。

bytes

    所有的字元存到儲存單元裡都是bytes類型。

這裡簡述了集中python中常用資料類型以及內建的一些使用方法,方便以後對python的學習在此總結一下。

python的資料類型及操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.