python學習第二篇
阿新 • • 發佈:2018-03-11
合並 數據添加 一個 body 標題樣式 img isa image nco
一:三元運算
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表示的"我的名字叫雷鋒"轉換為bytes 4 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中的數據添加到num print(num,num2)
4.列表復制
1 name = [0,1,2,[3.1,3.2],4,5,[6.1,6.2]] 2 name2 = name.copy() #將name中儲存的數據復制一份給name2 3 print(name,‘\n‘,name2) 4 print(‘-------------------------------‘) 5 name[0] = 10 6 name[6] = 60 7 name[3][0] = 30 8 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所在的位置 找不到返回-1 print(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‘,‘1@/*+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‘]) #字典沒有順序也沒有下標,取值通過key data[‘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學習第二篇