標籤:個數 center 豬八戒 找不到 tle string move get 規則
一:三元運算
1 result = 1 if a>0 else 2
三元運算先判斷 if後的語句是否成立,像上面代碼如果a>0則 result = 1 ,不是則result = 2。
二:string與bytes相互轉換
1 name = "我的名字叫雷鋒"2 print(name)3 print(name.encode(encoding="utf-8"))#將name表示的"我的名字叫雷鋒"轉換為bytes4 print(b‘\xe6\x88\x91\xe7\x9a\x84\xe5\x90\x8d\xe5\xad\x97\xe5\x8f\xab\xe9\x9b\xb7\xe9\x94\x8b‘.decode())
先把字串轉化為bytes(預設為utf-8)
之後把bytes解碼為字串
三:列表
1.列表定義及輸出
1 name = ["唐三藏","孫悟空","豬八戒","沙和尚","白龍馬"]2 print(name) #輸出name中所有的資料3 print(name[0]) #輸出name這個列表下標為0的資料,“唐三藏”4 print(name[1:3]) #輸出name中下標1-3不包括3的資料即[‘孫悟空‘, ‘豬八戒‘](顧頭不顧尾)5 print(name[-1]) #輸出最後一個資料6 print(name[-2:]) #輸出最後兩個值7 print(name[-2:-1]) #輸出倒數第二個值(顧頭不顧尾)
8 print(name[0:-1:2]) #從下標為0的資料輸出致最後一個,步長為2(三個值都可以預設)
2.:列表修改
name = ["唐三藏","孫悟空","豬八戒","沙和尚","白龍馬"]name.append("觀世音")#追加一個值name.insert(1,"六耳獼猴")#將六耳獼猴插入列表中下標為1的位置name[4] = "捲簾將軍"#將下標為4的位置改為“捲簾將軍”name.remove("孫悟空")#將孫悟空在列表中刪除del name[1]#將下標為1的資料在列表中刪除a = name.pop(1)#刪除並返回下標為1的資料b = name.index("白龍馬")#找到並返回第一個值為白龍馬的下標c = name.count("唐三藏")#統計列表中值為“唐三藏”資料的個數print(name,a,b,c)name.clear()#清空列表中的資料print(name)
3.列表合并
num = [1,2,3,4]num2 = [5,6,7,8]num.extend(num2)#將num2中的資料添加到numprint(num,num2)
4.列表複製
1 name = [0,1,2,[3.1,3.2],4,5,[6.1,6.2]]2 name2 = name.copy() #將name中儲存的資料複製一份給name23 print(name,‘\n‘,name2)4 print(‘-------------------------------‘)5 name[0] = 106 name[6] = 607 name[3][0] = 308 print(name,‘\n‘,name2)
結果如
可以看出name2複製了name的資料(即對name更改不會對name2產生影響)
列表中還可以嵌套列表但是列第一層列表中存放的是指向下一層列表存放位置的指標不是資料本身
而name2複製的也是name中存放的指標,所以對也就是name[3]和name2[3]都是存放的指向[3.1,3.2]這個列表的指標,更改name[3][0]變更也就是通過指標對子列表變更
所以name2的輸出資料也會受影響
name[6]=60則是將name[6]中的指標改為了60,子列表不受影響,name2輸出也就不受影響
四:元組
不能修改只能查,又稱為唯讀列表
元組定義:
num = (1,2,3,4)
五:字串常用函數
1.
name = ‘my name is \tjack‘print(name.capitalize()) #首字母大寫print(name.count(‘a‘)) #統計字串中a的數量print(name.center(10,‘+‘)) #列印10個字元將name的值放在中間,不夠用+補齊print(name.endswith(‘ck‘)) #判斷字串是不是由ck結尾print(name.expandtabs(20)) #將一個\t轉化為20個空格print(name.find(‘name‘)) #返回name所在的位置 找不到返回-1print(name[1:6]) #切片輸出,輸出1-6的元素information = ‘{name1} is {age1} years old‘print(information.format(name1 = ‘jack‘,age1 = 20))print(information.format_map({‘name1‘:‘jack‘,‘age1‘:‘20‘})) #使用字典print(name.index(‘name‘)) #返回name所在的位置 找不到拋出異常
結果如下
2.
print(‘aa‘.isalpha()) #判斷是不是純英文字元print(‘+‘.join([‘1‘,‘2‘,‘3‘,‘4‘])) #將列表變為字串,以+為間隔符print(‘abcd‘.ljust(50,‘+‘)) #50個長度不夠右側用+作為預留位置print(‘abcd‘.rjust(50,‘-‘)) #50個長度不夠左側用-作為預留位置print(‘Jack‘.lower()) #返回小寫print(‘Jack‘.upper()) #返回大寫p=str.maketrans(‘abcdefg‘,‘[email protected]/*+5%‘) #兩個字串一一對應,指定字元轉化規則print(‘fog‘.translate(p)) #‘fog’按照p這個規則進行加密print(‘jack jone‘.replace(‘j‘,‘J‘,2)) #將字串中的j改為J轉換兩個(預設為全部替換)print(‘1+2+3+4‘.split(‘+‘,2)) #將+號作為分隔字元返回列表值,執行2次(預設為全部)print(‘Jone Jack‘.swapcase()) #大小寫反轉print(‘jone jack‘.title()) #轉換為標題樣式
結果
六:字典
1.
data = {‘student1‘:‘jack‘,‘student2‘:‘joker‘,‘student3‘:‘jone‘}print(data[‘student1‘]) #字典沒有順序也沒有下標,取值通過keydata[‘student1‘] = ‘sam‘ #修改student1的值data[‘student4‘] = {‘amy‘:11} #增加一個值可以是字串、字典、列表、元組data[‘student5‘] = [‘jack‘,‘linda‘]data[6] = (1,2,3,4)print(data)del data[6] #刪除data.pop(‘student5‘) #刪除print(data)print(data.get(‘student5‘)) #根據key尋找並返回,找不到返回None同(if ‘student5‘ in data: else)print(data.values()) #列印所有值print(data.keys()) #列印所有key
2.
a = {‘a‘:1,‘b‘:2}b = {‘a‘:7,‘c‘:3}a.update(b) #用b作為參數更新a(key重複替換,不重複增加)print(a)print(a.items()) #將a變為列表,元素變為元組
python學習第二篇