標籤:split 表示 產生 count isa index jdk jin 分享圖片
一,引子。
1 什麼是資料?
x=10,10是我們要儲存的資料
2 為何資料要分不同的類型
資料是用來表示狀態的,不同的狀態就應該用不同的類型的資料去表示
3 資料類型
二基礎資料類型。2.1數字int。
數字主要是用於計算用的,使用方法並不是很多,就記住一種就可以:
#bit_length() 當十進位用二進位表示時,最少使用的位元v = 11data = v.bit_length()print(data)
2.2布爾值bool。
布爾值就兩種:True,False。就是反應條件的正確與否。
真 1 True。
假 0 False。
2.3字串str。
2.3.1、字串的索引與切片。
索引即下標,就是字串組成的元素從第一個開始,初始索引為0以此類推。
a = ‘ABCDEFGHIJK‘print(a[0])print(a[3])print(a[5])print(a[7])
切片就是通過索引(索引:索引:步長)截取字串的一段,形成新的字串(原則就是顧頭不顧腚)。
a = ‘ABCDEFGHIJK‘print(a[0:3])print(a[2:5])print(a[0:]) #預設到最後print(a[0:-1]) #-1就是最後一個print(a[0:5:2]) #加步長
print(a[5:0:-2]) #反向加步長
2.3.2、字串常用方法。
#captalize,swapcase,titleprint(name.capitalize()) #首字母大寫print(name.swapcase()) #大小寫翻轉msg=‘egon say hi‘print(msg.title()) #每個單詞的首字母大寫# 內同置中,總長度,空白處填充ret2 = a1.center(20,"*") print(ret2)#數字串中的元素出現的個數。# ret3 = a1.count("a",0,4) # 可切片# print(ret3)a2 = "hqw\t"#\t前面的補全# 預設將一個tab鍵變成8個空格,如果tab前面的字元長度不足8個,則補全8個,如果tab鍵前面的字元長度超過8個不足16個則補全16個,以此類推每次補全8個。ret4 = a2.expandtabs()print(ret4)a4 = "dkfjdkfasf54"#startswith 判斷是否以...開頭#endswith 判斷是否以...結尾# ret4 = a4.endswith(‘jdk‘,3,6) # 顧頭不顧腚# print(ret4) # 返回的是布爾值# ret5 = a4.startswith("kfj",1,4)# print(ret5)#尋找字串中的元素是否存在# ret6 = a4.find("fjdk",1,6)# print(ret6) # 返回的找到的元素的索引,如果找不到返回-1# ret61 = a4.index("fjdk",4,6)# print(ret61) # 返回的找到的元素的索引,找不到報錯。#split 以什麼分割,最終形成一個列表此列表不含有這個分割的元素。# ret9 = ‘title,Tilte,atre,‘.split(‘t‘)# print(ret9)# ret91 = ‘title,Tilte,atre,‘.rsplit(‘t‘,1)# print(ret91)#format的三種玩法 格式化輸出res=‘{} {} {}‘.format(‘egon‘,18,‘male‘)res=‘{1} {0} {1}‘.format(‘egon‘,18,‘male‘)res=‘{name} {age} {sex}‘.format(sex=‘male‘,name=‘egon‘,age=18)#stripname=‘*egon**‘print(name.strip(‘*‘)) print(name.lstrip(‘*‘))print(name.rstrip(‘*‘))#replacename=‘alex say :i have one tesla,my name is alex‘print(name.replace(‘alex‘,‘SB‘,1))#####is系列name=‘jinxin123‘print(name.isalnum()) #字串由字母或數字組成print(name.isalpha()) #字串只由字母組成print(name.isdigit()) #字串只由數字組成
2.4元祖tupe。
元組被稱為唯讀列表,即資料可以被查詢,但不能被修改,所以,字串的切片操作同樣適用於元組。例:(1,2,3)("a","b","c")
2.5列表list。
列表是python中的基礎資料類型之一,其他語言中也有類似於列表的資料類型,比如js中叫數組,他是以[]括起來,每個元素以逗號隔開,而且他裡面可以存放各種資料類型比如:
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]
列表相比於字串,不僅可以儲存不同的資料類型,而且可以儲存大量資料,32位python的限制是 536870912 個元素,64位python的限制是 1152921504606846975 個元素。而且列表是有序的,有索引值,可切片,方便取值。
2.5.1 增
li = [1,‘a‘,‘b‘,2,3,‘a‘]# li.insert(0,55) #按照索引去增加# print(li)## li.append(‘aaa‘) #增加到最後# li.append([1,2,3]) #增加到最後# print(li)## li.extend([‘q,a,w‘]) #迭代的去增# li.extend([‘q,a,w‘,‘aaa‘])# li.extend(‘a‘)# li.extend(‘abc‘)# li.extend(‘a,b,c‘)# print(li)
2.5.2 刪
# l1 = li.pop(1) #按照位置去刪除,有傳回值# print(l1)# del li[1:3] #按照位置去刪除,也可切片刪除沒有傳回值。# print(li)# li.remove(‘a‘) #按照元素去刪除# print(li)# li.clear() #清空列表列表的刪
2.5.3 改
# 改# li = [1,‘a‘,‘b‘,2,3,‘a‘]# li[1] = ‘dfasdfas‘# print(li)# li[1:3] = [‘a‘,‘b‘]# print(li)列表的改
2.5.4 查
切片去查,或者迴圈去查。
2.5.5、其他動作。
count(數)(方法統計某個元素在列表中出現的次數)。
1 a = ["q","w","q","r","t","y"]2 print(a.count("q"))
index(方法用於從列表中找出某個值第一個匹配項的索引位置)
1 a = ["q","w","r","t","y"]2 print(a.index("r"))
sort (方法用於在原位置對列表進行排序)。
reverse (方法將列表中的元素反向存放)。
1 a = [2,1,3,4,5]2 a.sort()# 他沒有傳回值,所以只能列印a3 print(a)4 a.reverse()#他也沒有傳回值,所以只能列印a5 print(a)
2.6字典dict
字典是python中唯一的映射類型,採用索引值對(key-value)的形式儲存資料。python對key進行雜湊函數運算,根據計算的結果決定value的儲存地址,所以字典是無序儲存的,且key必須是可雜湊的。可雜湊表示key必須是不可變類型,如:數字、字串、元組。
字典(dictionary)是除列表意外python之中最靈活的內建資料結構類型。列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過位移存取。
2.6.1 增
# dic[‘li‘] = ["a","b","c"]# print(dic)# setdefault 在字典中添加索引值對,如果只有鍵那對應的值是none,但是如果原字典中存在設定的索引值對,則他不會更改或者覆蓋。# dic.setdefault(‘k‘,‘v‘)# print(dic) # {‘age‘: 18, ‘name‘: ‘jin‘, ‘sex‘: ‘male‘, ‘k‘: ‘v‘}# dic.setdefault(‘k‘,‘v1‘) # {‘age‘: 18, ‘name‘: ‘jin‘, ‘sex‘: ‘male‘, ‘k‘: ‘v‘}# print(dic)字典的增
2.6.2 刪
# dic_pop = dic.pop("a",‘無key預設傳回值‘) # pop根據key刪除索引值對,並返回對應的值,如果沒有key則返回預設傳回值# print(dic_pop)# del dic["name"] # 沒有傳回值。# print(dic)# dic_pop1 = dic.popitem() # 隨機刪除字典中的某個索引值對,將刪除的索引值對以元祖的形式返回# print(dic_pop1) # (‘name‘,‘jin‘)# dic_clear = dic.clear() # 清空字典# print(dic,dic_clear) # {} None字典的刪
2.6.3 改
# 改# dic = {"name":"jin","age":18,"sex":"male"}# dic2 = {"name":"alex","weight":75}# dic2.update(dic) # 將dic所有的索引值對覆蓋添加(相同的覆蓋,沒有的添加)到dic2中# print(dic2)
2.6.4 查
# value1 = dic["name"] # 沒有會報錯# print(value1)## value2 = dic.get("djffdsafg","預設傳回值") # 沒有可以返回設定的傳回值# print(value2)
2.6.5 其他動作
# item = dic.items()# print(item,type(item)) # dict_items([(‘name‘, ‘jin‘), (‘sex‘, ‘male‘), (‘age‘, 18)]) <class ‘dict_items‘># 這個類型就是dict_items類型,可迭代的# keys = dic.keys()# print(keys,type(keys)) # dict_keys([‘sex‘, ‘age‘, ‘name‘]) <class ‘dict_keys‘># values = dic.values()# print(values,type(values)) # dict_values([‘male‘, 18, ‘jin‘]) <class ‘dict_values‘> 同上
字典的迴圈
# dic = {"name":"jin","age":18,"sex":"male"}# for key in dic:# print(key)# for item in dic.items():# print(item)# for key,value in dic.items():# print(key,value)
三,其他(for,enumerate,range)
for迴圈:使用者按照順序迴圈可迭代對象的內容。
msg = ‘老男孩python是全國範圍內最好的python培訓機構‘for item in msg: print(item)li = [‘alex‘,‘銀角‘,‘女神‘,‘egon‘,‘太白‘]for i in li: print(i)dic = {‘name‘:‘太白‘,‘age‘:18,‘sex‘:‘man‘}for k,v in dic.items(): print(k,v)
enumerate:枚舉,對於一個可迭代的(iterable)/可遍曆的對象(如列表、字串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值。
li = [‘alex‘,‘銀角‘,‘女神‘,‘egon‘,‘太白‘]for i in enumerate(li): print(i)for index,name in enumerate(li,1): print(index,name)for index, name in enumerate(li, 100): # 起始位置預設是0,可更改 print(index, name)
range:指定範圍,產生指定數字。
for i in range(1,10): print(i)for i in range(1,10,2): # 步長 print(i)for i in range(10,1,-2): # 反向步長 print(i)
python基礎二(基礎資料類型)