【總結】python資料型別
阿新 • • 發佈:2021-07-17
目錄
一、字串
二、列表
三、元組
四、字典
五、集合
一、字串
#1.下標 str = 'abc' print(str[0]) print(str[1]) print(str[2]) str1 = '012345678' print(str1[2:5:1])#開始:結束:步長 print(str1[-1:-10:-1])#步長為負,倒敘選取,-1表示最後一個數據 #2.查詢find mystr = 'hello world and itcast and itheima and Python' print(mystr.find('and')) pint(mystr.find('and',15,30))#範圍查詢,開始下標,結束下標 print(mystr.find('ands'))#沒有結果返回-1 #index print(mystr.index('and')) print(mystr.index('and',15,30))#範圍查詢,開始下標,結束下標 #print(mystr.index('ands'))#沒有則報錯 #count print(mystr.count('and')) print(mystr.count('and',15,30))#範圍查詢,開始下標,結束下標 print(mystr.count('ands'))#沒有則報錯 #rfind 從右側開始查詢 #rindex 從右側開始查詢#3.替換replace new_str = mystr.replace('and' ,'he', 2)#替換次數超出子串出現次數,表示替換所有子串 print(new_str) #4.分割split,返回一個列表,丟失分隔字元 list1 = mystr.split('and',2) print(list1) #4.合併join 合併列表裡面的字串為一個大字串 mylist = ['aa','bb','cc'] new_str = '#'.join(mylist) print(new_str) #5.大小寫轉換 #capitalize():字串首字母大寫 #title():字串每個單詞首字母大寫#upper():字串轉大寫 #lower():字串轉小寫 #swapcase():字串大小寫轉換 #6.刪除空白字元 #lstrip():刪除左側空白 #rstrip():刪除右側空白 #strip():刪除兩側空白 #7.字串對齊 #ljust():返回一個字串左對齊,並使用指定字元(預設空格)填充至對應長度的新字串 #rjust():右對齊 #center():中間對齊 mystr = 'hello' print(mystr.ljust(10,'.')) print(mystr.rjust(10,'.')) print(mystr.center(10,'.')) #8.判斷真假 #startswith():判斷字串是否以某個子串開頭 mystr = 'hello world and itcast and itheima and Python' print(mystr.startswith('hell')) #endswith():判斷字串是否以子串結尾 #isalpha():判斷字串是否以字母組成 #isdigit():判斷字串是否均為數字 #isalnum():判斷是否數字或字母組合 #isspace():判斷是否為空格 #isupper():判斷是否為大寫 #islower():判斷是否為小寫
二、列表List
#列表list,可變型別 name_list = ['Tom','Lily','Rose'] print(name_list[0]) print(name_list.index('Tom')) print(name_list.count('Tom')) print(len(name_list[0])) print('Tom' in name_list) print('Toms' in name_list) print('Tom' not in name_list) #append,列表結尾追加資料,如果資料是一個序列則將這個序列整體追加到結尾 name_list.append([11,22]) name_list.append('wuchen') print(name_list) #extend,列表結尾追加資料,如果資料是一個序列則將這個序列資料逐一新增到列表 name_list.extend('wuchen') print(name_list) name_list.extend(['xiaoming','xiaohong']) print(name_list) #insert(下標,資料) name_list = ['Tom','Lily','Rose'] name_list.insert(1,'aaa') #print(name_list) #index('Tom') 查詢Tom值的下標 Print(name_list.index('Tom')) #del()刪除列表或列表下標 name_list = ['Tom','Lily','Rose'] del name_list[0] #print(name_list) del name_list #print(name_list) #pop()刪除指定下標資料,如果不指定則刪除最後一個數據,並返回刪除的資料 name_list = ['Tom1','Lily1','Rose1'] del_name = name_list.pop() print(del_name) print(name_list) #remove()刪除資料(第一個匹配到的資料) name_list = ['Tom','Lily','Rose'] name_list.remove('Tom') print(name_list) #clear()清空列表 name_list = ['Tom','Lily','Rose'] name_list.clear() print(name_list) #修改指定下標的資料 name_list = ['Tom','Lily','Rose'] name_list[0] = 'aaa' print(name_list) #reverse()逆序 name_list = [1,3,2,4,5,6] name_list.reverse() print(name_list) #sort()排序 name_list = [1,3,2,4,5,6] name_list.sort() name_list.sort(reverse=False) name_list.sort(reverse=True) print(name_list)
#返回排序後的列表(reverse預設為False): list3 = sorted(list, reverse=True) #copy()複製 name_list = ['Tom','Lily','Rose'] list1 = name_list.copy() print(list1) print(name_list) #遍歷 name_list = ['Tom','Lily','Rose'] i = 0 while i < len(name_list): print(name_list[i]) i += 1 #(for更優) for i in name_list: print(i) #列表巢狀 name_list = ['Tom','Lily','Rose',['張三',['李四','ss'],'王二'],['xiaoming','xiaohong','wanggang']] print(name_list[3][1][1]) #案例:隨機分配老師到辦公室 import random teachers = ['A','B','C','D','E','F','G','H'] offices = [[],[],[]] i = 1 for name in teachers: num = random.randint(0,2) offices[num].append(name) for office in offices: print(f'辦公室{i}的人數是{len(office)},老師分別是:') for name in office: print(name,end=' ') print() i += 1
三、元組Tuple
#元組tuple,不可變型別 t1 = (10,20,30) print(type(t1)) t2 = (10,)#單個數據必須加逗號 print(type(t2)) t3 = (10) print(type(t3))#資料型別是int
#僅支援查詢操作 print(t1[0]) print(t1.index(10)) print(t1.count(10)) print(len(t1)) #如果元組裡有列表,則列表的資料是可以修改的 t1 = ('aa','bb','cc','dd',['ww','yy']) t1[4].append('11') print(t1)
四、字典Dict
# 字典dict,鍵值對,可變型別 dict1 = {'name':'Tom','age':21,'gender':'男'} dict2 = {} dict3 = dict() print(type(dict1)) print(type(dict2)) print(type(dict3)) # 新增 dict1['id'] = 110 print(dict1) # 修改 dict1['name'] = 'Rose' print(dict1) # 刪除 del dict1['name'] #del(dict1) print(dict1) # 查詢 # get(key,預設值) dict1 = {'name':'Tom','age':21,'gender':'男'} print(dict1.get('name')) print(dict1.get('id',110)) print(dict1.get('id')) # keys() 查詢所有key print(dict1.keys()) # values 查詢值 print(dict1.values()) # items() 查詢鍵值對,返回元組 print(dict1.items()) #遍歷 dict1 = {'name':'Tom','age':21,'gender':'男'} for key in dict1.keys(): print(key) for value in dict1.values(): print(value)
五、集合Set
# 集合set,可變型別,不重複的資料,沒有順序,不支援下標 s1 = {10,20,30} print(type(s1)) print(s1) s2 = {10,20,30,40,50,20,10} print(type(s2)) print(s2) s3 = set('abcdefg') print(s3) # 建立空集合只能用set() s4 = set() print(s4) # 新增資料add(),單一資料,不能追加列表 s1.add(100) print(s1) # 新增資料update(),可以追加資料序列 s1.update([10,20,30,40,50,60]) print(s1) # remove()刪除指定資料,資料不存在報錯 s1.remove(100) print(s1) # discard()刪除指定資料,資料不存在不報錯 s1.discard(10) print(s1) # pop()隨機刪除某個資料,並返回這個資料 print(s1.pop()) print(s1) # 查詢資料 in/not in print(10 in s1) print(10 not in s1) # 運算 a-b : a有b沒有 a|b:ab並集 a&b:ab交集 a^b:ab交集之外的集合