標籤:列印 否則 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的資料類型及操作