3.9python學習筆記
阿新 • • 發佈:2022-03-09
字串的內建方法
1. strip
strip方法:可以移除字串首尾的指定字元,可以選擇方向
s1 = '&&&zhangqiang&&&'
print(s1.strip('&')) # zhangqiang
print(s1.lstrip('&')) # zhangqiang&&&
print(s1.rstrip('&')) # &&&zhangqiang
2.大小寫操作
s2 = 'NIhAo' s2.lower() #將所有的英文字母變為小寫的 nihao s2.upper() #所有字母變成大寫 NIHAO s2.islowe() #判斷字串中所有字母是否都是小寫 結果是布林值 s2.isupper() #判斷字串中所有字母是否都是大寫 結果是布林值
3.判斷字串的開頭或者結尾是否有指定的字元
s3 = 'hi 你今天過的怎麼樣'
print(s3.startswith('h')) # True
print(s3.startswith('i')) # False
print(s3.startswith('hi')) # True
print(s3.endswith('樣')) # True
print(s3.endswith('麼')) # False
print(s3.endswith('你今天過的怎麼樣')) # True
4.格式化輸出
format方法的四種用法: 1、跟佔位符一樣,使用{}佔位: print('你好我叫{}今年{}歲 身高是{}'.format('name',20,183)) 2、根據索引取值: print('my name is {0} {0} my age is {0} {1}'.format('jason', 18)) 3、根據指名道姓的方式取值 print('我們一個有{su}人,分別是{name},{name2},{name3}'.format(name="zq",name2='cy',name3='ajr',su=3)) 4.直接使用已經出現的變數 print(f'你的賬號是{name},密碼是{password}') #注意這個方法需要在字串前加一個f
5.拼接字串
s1 = '年少不知富婆香' s2 = '錯把少女當成寶' print(s1 + s2) #如果資料較大,會佔用比較大的空間,並且時間花的多 print(s * 10) #直接重複10次 print('|',join(s1)) #年|少|不|知|富|婆|香 print('$'.join(['jason', 'kevin', 'justin', 'tony'])) # jason$kevin$justin$tony '''join方法相當於是將括號內的元素進行for迴圈''' l1 = [11, 'jason', 'kevin'] #報錯!!! print('|'.join(l1)) #報錯!!!join的元素必須都是字串才可以
6.替換字串中指定的字元
s6 = 'jason is DSB DSB DSB DSB jason jason jason'
將jason替換成老劉
print(s6.replace('jason', '老劉')) # 預設一次性替換所有
指定替換的個數
print(s6.replace('jason', '老劉', 2)) # 還可以通過數字控制替換的個數 從左往右
'''很多文字編輯器裡面的替換功能 就可以使用replace完成'''
7.判斷字串中是否是純數字
s7 = 'jason123'
print(s7.isdigit()) # False
print('123'.isdigit()) # True
print('123.21'.isdigit()) # False
score = input('score>>>:')
if score.isdigit():
score = int(score)
else:
print('你他喵的能不能好好寫')
8.需要了解的一些字串操作
1.查詢指定字元對應的索引值
s1 = '今天是個好日子'
print(s1.find('好')) #從左往右查詢
print(s1.find('n',1,5)) #輸出-1 就是沒有找到
print(s1.index('好'))
print(s1.index('n')) #找不到直接報錯,沒有返回值
2.文字位置改變
name = 'zhangqiang'
print(name.center(30, '-')) # ------------tony-------------
print(name.ljust(30, '*')) # zhangqiang**************************
print(name.rjust(30, '$')) # $$$$$$$$$$$$$$$$$$$$$$$$$$zhangqiang
print(name.zfill(50)) # zero 零 0000000000000000000000000000000000000000000000zhangqiang
3.特殊符號:斜槓與一些英文字母的組合會產生特殊的含義
print('ja\tson\nke\avin')
'''如果想取消它們的特殊含義 可以在字串的前面加一個字母r'''
print(r'ja\tson\nke\avin')
4.captalize,swapcase,title
4.1 captalize:首字母大寫
message = 'hello everyone nice to meet you!'
message.capitalize()
Hello everyone nice to meet you!
4.2 swapcase:大小寫翻轉
message1 = 'Hi girl, I want make friends with you!'
message1.swapcase()
hI GIRL, i WANT MAKE FRIENDS WITH YOU!
4.3 title:每個單詞的首字母大寫
msg = 'dear my friend i miss you very much'
msg.title()
Dear My Friend I Miss You Very Much
列表的內建方法
1.型別轉換
print(list(123)) # 報錯
print(list(123.4)) # 報錯
print(list('jason')) # ['j', 'a', 's', 'o', 'n']
print(list({'name': 'jason', 'pwd': 123})) # ['name', 'pwd']
print(list((11,22,33,44,55))) # [11, 22, 33, 44, 55]
print(list({1, 2, 3, 4, 5})) # [1, 2, 3, 4, 5]
"""
list可以轉換支援for迴圈的資料型別
可以被for迴圈的資料型別
字串 列表 字典 元組 集合
"""
2.取值的相關操作
name_list = ['張三','李四','王五','牛六','狗蛋']
1.索引取值
print(name_list[0]) # '張三'
print(name_list[-1]) # '狗蛋'
2.切片操作
print(name_list[1:3]) # ['李四', '王五']
print(name_list[-3:-1]) #['王五', '牛六']
3.統計列表中元素的個數
print(len(name_list)) # 5
4.成員運算 最小判斷單位是元素不是元素裡面的單個字元
print('張' in name_list) # False
print('李四' in name_list) # True
5.列表新增元素的方式
5.1name_list.append('狗剩')
#name_list = ['張三','李四','王五','牛六','狗蛋','狗剩']
指定位置插入'單個'元素 #可以插入各種型別
5.2name_list.insert(1, '狗剩')
#name_list = ['張三','狗剩','李四','王五','牛六','狗蛋']
5.3合併列表
#name_list =['張三', '李四', '王五', '牛六', '狗蛋', 11, 22, 33, 44, 55]
6.刪除元素
6.1通用的刪除方式
del name_list[0]
print(name_list)
6.2指定刪除元素
name_list.remove('張三')
6.3延遲刪除
print(name_list.pop()) #從尾部開始彈出 資料並沒有直接刪除
print(name_list.pop(2)) # 還可以指定索引值
8.修改列表元素
name_list[0] = '張蛋'
#name_list = ['張蛋','李四','王五','牛六','狗蛋']
9.排序
ss = [44, 77, 99, 11, 22, 33, 88, 66]
ss.sort() # 預設是升序
print(ss) # [11, 22, 33, 44, 66, 77, 88, 99]
ss.sort(reverse=True) # 可以修改尾降序
print(ss) # [99, 88, 77, 66, 44, 33, 22, 11]
10.翻轉
ss = [44, 77, 99, 11, 22, 33, 88, 66]
ss.reverse() # 前後顛倒
print(ss)
# ss = [66, 88, 33, 22, 11, 99, 77, 44]
11.比較運算
s1 = [11, 22, 33]
s2 = [1, 2, 3, 4, 5, 6, 7, 8]
print(s1 > s2) # True
"""列表在做比較的時候 其實比的是對應索引位置上的元素"""
s1 = ['A', 'B', 'C'] # A>>>65
s2 = ['a'] # a>>>97
print(s1 > s2) # False
ss = [44, 77, 99, 11, 22, 33, 88, 66]
print(ss.index(99))
12.統計列表中某個元素出現的次數
l1 = [11, 22, 33, 44, 33, 22, 11, 22, 11, 22, 33, 22, 33, 44, 55, 44, 33]
print(l1.count(11)) # 統計元素11出現的次數
l1.clear() # 清空列表
print(l1)
可變型別與不可變型別
"""
可變型別與不可變型別
可變型別 列表
值改變 記憶體地址不變 修改的是本身
不可變型別 字串
值改變 記憶體地址肯定遍 修改過程產生了新的值
如何檢視變數的'記憶體地址'
"""
s1 = '$$$jason$$$'
print(s1.strip('$')) # jason 本身並沒有修改 可變型別與不可變型別
print(s1) # $$$jason$$$
s2 = [1, 2, 3]
print(s2.extend([11, 22, 33, 44, 55])) # None 空
print(s2) # [1, 2, 3, 11, 22, 33, 44, 55]