1. 程式人生 > 其它 >【總結】python資料型別

【總結】python資料型別

目錄

一、字串

二、列表

三、元組

四、字典

五、集合

一、字串

#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交集之外的集合