Python基础学习备忘录上
Python基礎(chǔ)學(xué)習(xí) 備忘錄上
- Python語法
- 1.1 輸出
- 1.1.1 輸出換行的更改
- 1.1.2 輸出整型
- 1.1.3 輸出字符串
- 1.1.4 字符串拼接與多行輸出
- 1.1.5 輸入輸出類型轉(zhuǎn)換
- 1.2 條件語句與循環(huán)語句
- 1.2.1 條件語句基本格式
- 1.2.2 多條件判斷格式
- 1.2.3 if 嵌套格式
- 1.2.4 while 循環(huán)基本格式
- 1.2.5 while - break 基本格式
- 1.2.6 while - continue基本格式
- 1.2.7 while - else 基本格式
- 1.2.9 通過 for 與 range函數(shù)實現(xiàn)循環(huán)基本格式
- 1.3 格式化字符串與運算符與進(jìn)制轉(zhuǎn)換
- 1.3.1 通過 % 實現(xiàn)字符串格式化
- 1.3.2 通過format 實現(xiàn)字符串格式化
- 1.3.3 通過 f 實現(xiàn)字符串格式化
- 1.3.4 成員運算符 in 與 not in
- 1.3.5 邏輯運算符 and 與 or 與 not
- 1.3.6 十進(jìn)制到二、八、十六進(jìn)制的轉(zhuǎn)換
- 1.3.7 二、八、十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換
- 2.1 字符串
- 2.1.1 判斷字符串開頭結(jié)尾是否包含某些字符
- 2.1.2 判斷字符串是否為全數(shù)字
- 2.1.3 字符串兩邊特定字符去除
- 2.1.4 字符串大小寫變化
- 2.1.5 字符串內(nèi)容替換
- 2.1.6 字符串切割與拼接
- 2.1.7 字符串字節(jié)相互轉(zhuǎn)化
- 2.1.8 字符串內(nèi)容填充設(shè)置
- 2.1.9 字符串索引、切片與步長
- 2.2 列表
- 2.2.1 列表定義與添加打印
- 2.2.2 列表插入和刪除
- 2.2.3 列表索引查詢和排序
- 2.2.4 列表加乘,in與長度獲取
- 2.2.5 列表索引、切片、步長
- 2.2.6 列表嵌套
- 2.3 元組、集合與字典
- 2.3.1 元組定義與簡單使用
- 2.3.2 集合定義與簡單使用
- 2.3.3 字典定義與簡單使用
- 2.3.4 字典鍵值更改
Python語法
1.1 輸出
1.1.1 輸出換行的更改
# 更改換行字符,默認(rèn)換行符 print("Hello World") print("Hello", end="*") print("World")輸出如下:
python輸出默認(rèn)有換行符,可以通過end更改
1.1.2 輸出整型
# 整形輸出,6**2為次方輸出 3//2為整除 3/2為除 print(6**2) print(3//2) print(3/2)輸出如下
整型輸出不需要加單引號或者雙引號
1.1.3 輸出字符串
# 字符串輸出“” ‘’都是同樣的效果 print("String Str") print('String Str')# 字符串輸出特例:“”“ ”“” ''' ''' 三個引號可輸出換行效果 print("String ""Str") print("""StringStr""")輸出如下:
對于字符串輸出,單引號與雙引號都可以實現(xiàn),其中特別的可以通過三引號實現(xiàn)換行符\n的錄入。
1.1.4 字符串拼接與多行輸出
# 字符串乘與加操作 # 字符串拼接 print("Hello"+"World")# 同一字符串同行多輸出 print(3*"HelloWorld")輸出如下:
可通過+號實現(xiàn)字符串的相加輸出操作,可通過數(shù)值*字符串的形式實現(xiàn)同一字符串的多行輸出。
1.1.5 輸入輸出類型轉(zhuǎn)換
# 類型轉(zhuǎn)換 # 字符串到整形 print("6"+"9") print(int("6")+int("9"))# 整形到字符串 print(str(123)) print(str(123)+str(123))輸出如下:
類型轉(zhuǎn)換的實現(xiàn),可以通過 想要轉(zhuǎn)換成類型名(將要轉(zhuǎn)換的變量)的形式實現(xiàn)轉(zhuǎn)換。
輸出如下:
對于其他類型向布爾類型的轉(zhuǎn)換,當(dāng)且僅當(dāng)要轉(zhuǎn)換的為空字符串(”“)和 0 時轉(zhuǎn)換后的布爾變量輸出是 false 其他都是 true。
1.2 條件語句與循環(huán)語句
1.2.1 條件語句基本格式
#條件語句基本格式 if 條件1:if內(nèi)語句1if內(nèi)語句2... else:else內(nèi)語句1else內(nèi)語句2... 其他語句語句1if基本格式如上,通過四個空格(一個TAB)實現(xiàn)內(nèi)外區(qū)分。代碼測試如下:
statement = True if statement:print("statement的值為True") else:print("statement的值為False")print("條件判斷語句執(zhí)行結(jié)束")if statement:print("statement的值為True") else:print("statement的值為False") print("條件判斷語句執(zhí)行結(jié)束")測試其內(nèi)外區(qū)分如上所示,第一個 print(”條件判斷語句執(zhí)行結(jié)束“)相較于第二個區(qū)別即是在于是否有四個空格( 一個 TAB )則分別屬于else內(nèi)部和外部指令。
1.2.2 多條件判斷格式
#多條件判斷格式 if 判斷語句1:執(zhí)行語句1... elif 判斷語句2:執(zhí)行語句2... ... else:執(zhí)行語句3... 其他語句1其中具體判斷代碼如下:
# 多條件判斷 if- else 基本格式 tmp_input = input("每月的工資") money = int(tmp_input) if money <= 2000:print("ByeBye~") elif money <= 6000:print("Hello") elif money <= 10000:print("Yes,Sir") else:print("Dad")輸出如下:
控制臺中輸入12000返回相應(yīng)函數(shù),通過 if-elif 字段實現(xiàn) if-else 格式
1.2.3 if 嵌套格式
#if 嵌套格式如下 if 判斷條件1:if 內(nèi)語句1if 內(nèi)語句2...if 判斷條件2:if 內(nèi)語句1if 內(nèi)語句2...else:else 語句1else 語句2... else:else 語句1else 語句2... 其他語句1 # if嵌套的格式 tmp_input = input("你是豬嗎?") Str = tmp_input if Str == 'Y':tmp_input = input("真的嗎?")Str = tmp_inputif Str == 'Y':print("🐖")else:print("假的") else:print("不是")輸出如下:
嵌套的實現(xiàn)即是繼續(xù)往后縮進(jìn)即可。
1.2.4 while 循環(huán)基本格式
#while 循環(huán)基本格式 while 循環(huán)條件1:循環(huán)語句1循環(huán)語句2... 語句1其中具體的測試代碼如下:
#while循環(huán)基本格式 statement = 0 target = 3 while statement < target:statement = statement + 1print(statement, target) print('循環(huán)結(jié)束')輸出如下:
在滿足執(zhí)行條件,即是執(zhí)行條件的值為true時,將一直順序執(zhí)行循環(huán)語句
1.2.5 while - break 基本格式
# while-break基本格式 while 循環(huán)條件1:循環(huán)語句1循環(huán)語句2break循環(huán)語句3... 其他語句1具體測試代碼如下所示:
# while-break基本格式 statement = True while statement:print('科西嘉的怪物在儒安港登陸')print('吃人的魔鬼向格臘斯前進(jìn)')print('篡位者進(jìn)入格勒諾布爾')print('波拿巴占領(lǐng)里昂')print('拿破侖接近楓丹白露')breakprint('......')print('******') print('皇帝陛下將于今日抵達(dá)他忠實的巴黎')輸出如下:
循環(huán)語句執(zhí)行到break時直接跳出循環(huán),break之下的循環(huán)內(nèi)語句不執(zhí)行。
1.2.6 while - continue基本格式
# while-continue基本格式 while 循環(huán)條件1:循環(huán)語句1循環(huán)語句2continue循環(huán)語句3... 其他語句1具體測試代碼如下所示:
# while-continue基本格式 time = 0 while time < 3:print('循環(huán)次數(shù):', time)print('這行能打印出來')time = time + 1continueprint('這行是打印不出來的')print('這行也是') print('循環(huán)結(jié)束')輸出如下所示:
在循環(huán)執(zhí)行到continue時將結(jié)束本次循環(huán),繼續(xù)下一次循環(huán),直到不滿住循環(huán)條件。
1.2.7 while - else 基本格式
#while-else基本格式(while 不成立時候執(zhí)行else內(nèi)部代碼) while 循環(huán)條件1:循環(huán)語句1循環(huán)語句2... else:else語句1else語句2... 其他語句1具體測試代碼如下所示:
# while-else基本格式(while 不成立時候執(zhí)行else內(nèi)部代碼) time = 1 while True:print("這是第"+str(time)+"次循環(huán)")if time == 3:breaktime = time + 1 else:print('break方式不會執(zhí)行else內(nèi)容') print('循環(huán)結(jié)束')time = 1 while time <= 3:print("這是第"+str(time)+"次循環(huán)")time = time + 1 else:print('沒有break方法,在while執(zhí)行完后會執(zhí)行else內(nèi)容') print('循環(huán)結(jié)束')輸出如下:
else 之中的內(nèi)容會在執(zhí)行完 while 循環(huán)后執(zhí)行,但是特別的:如果通過 break 的方式跳出 while 循環(huán)將不會執(zhí)行 else 中語句塊。
1.2.9 通過 for 與 range函數(shù)實現(xiàn)循環(huán)基本格式
基本格式如下:
for 循環(huán)類型 in 循環(huán)的結(jié)構(gòu)循環(huán)語句1循環(huán)語句2... 語句1for i in range(begin,end)循環(huán)語句1循環(huán)語句2... 語句1具體測試代碼如下:
# for循環(huán) string = "你好世界" # 全部輸出 for char in string:print(char) # 輸出字符1到2 for i in range(0, 2):print(string[i]) # 全部輸出 for i in range(len(string)):print(string[i])輸出結(jié)果如下:
1.3 格式化字符串與運算符與進(jìn)制轉(zhuǎn)換
1.3.1 通過 % 實現(xiàn)字符串格式化
通過%實現(xiàn)字符串格式化操作的基本格式
%實現(xiàn)字符串格式化基本格式 txt = "內(nèi)容1%s內(nèi)容2" %"用于填充%s處的String"具體測試代碼如下所示:
#%完成,字符串格式化 name = "王騰" txt = "我兒%s有大帝之姿" %name print(txt)輸出如下:
通過%實現(xiàn)多參數(shù)字符串格式化方法基本格式
通過%實現(xiàn)多參數(shù)字符串格式化方法基本格式 str1 = "string1" str2 = "string2" txt = "內(nèi)容1%s內(nèi)容2%s" %(str1,str2)具體測試代碼如下所示:
ss_age = '三' s_age = '三十' n_age = '三百' b_age = '三千' txt = "女大%s抱金磚。女大%s十送江山。女大%s送仙丹。女大%s位列仙班。" %(ss_age,s_age,n_age,b_age) print(txt)輸出如下:
通過%實現(xiàn)多參數(shù)字符串格式化方法的第二種格式
通過%實現(xiàn)多參數(shù)字符串格式化方法2 str1 = "string1" str2 = "string2" txt = "內(nèi)容1%(n1)s內(nèi)容2%(n2)s" %{"n1":str1,"n2":str2}具體測試代碼如下所示:
s_age = '三萬' n_age = '三十萬' b_age = '三百萬' txt="女大%(n1)s王母喂飯。女大%(n2)s,佛祖門口站。女大%(n3)s,三界你說了算。" %{"n1": s_age,"n2": n_age,"n3": b_age} print(txt)輸出結(jié)果如下:
需要注意的是,此處同基本格式1不同 % 后接的為中括號 { } 而不是小括號 ( )
特別的如果文本中原本帶有 % 符號,在用 % 實現(xiàn)字符串格式化時,需要在文本內(nèi)容的 % 后面再加上一個 % ,示意此為文本內(nèi)容,而不是占位符。
具體測試代碼如下所示:
ps = "在使用%方法完成字符串格式化,如果字符串本身有%,需要在%后面再加一個%" ps = "在使用%s完成字符串格式化時,如果字符串本身有%%,需要在%%后面再加一個%%" %('%方法') print(ps)輸出如下所示:
1.3.2 通過format 實現(xiàn)字符串格式化
format 方法實現(xiàn)字符串格式化基本格式如下:
#默認(rèn) txt = "內(nèi)容1{0}內(nèi)容2{1}".format("str1","str2") txt = "內(nèi)容1{}內(nèi)容2{}".format("str1","str2") #自定義 txt = "內(nèi)容1{s1}內(nèi)容2{s2}".format(s1="str1",s2="str2")具體測試代碼如下所示:
#format方法實現(xiàn)字符串格式化 # 默認(rèn) txt = "女大{0},六界圍著你轉(zhuǎn)。女大{1},開天辟地。女大{2},盤古做小弟.".format("三千萬", "三億", "三十億") print(txt) txt = "女大{},六界圍著你轉(zhuǎn)。女大{},開天辟地。女大{},盤古做小弟.".format("三千萬", "三億", "三十億") print(txt) # 自定義 txt = "女大{a1},手搓銀河系。女大{a2},徒手干爆九天十地。".format(a1="三百億", a2="三千億") print(txt)輸出結(jié)果如下:
1.3.3 通過 f 實現(xiàn)字符串格式化
f 實現(xiàn)字符串格式化基本格式如下:
# f方法實現(xiàn)字符串格式化 py3.6.0以上版本新增 str = "string1" txt = f"內(nèi)容1{str}內(nèi)容2"具體測試代碼如下所示:
# f方法實現(xiàn)字符串格式化 py3.6.0以上版本新增 name = "李淳罡" txt = f"天不生我{name},劍道萬古如長夜" print(txt)輸出結(jié)果如下:
1.3.4 成員運算符 in 與 not in
基本格式:
str string str txt bool bl bl = string in txt #string not in txt檢測 txt 字符串中,是否含有 string 字符,如果有返回布爾變量 true,沒有返回 false
具體測試代碼如下
# 成員運算符 in 與 not-in txt = "菊花很美麗,不是一般的美麗,象征著高潔和雅凈" danger = "菊花" if danger in txt:print("txt中有{n1}".format(n1=danger)) else:print("txt中沒有{n1}")if danger not in txt:print("txt中沒有{n1}") else:print("txt中有{n1}".format(n1=danger))輸出如下:
1.3.5 邏輯運算符 and 與 or 與 not
基本格式:
b1 = True b2 = True b3 = False b3 = b1 and b2 b3 = b1 or b2 b3 = not b1具體測試如下:
# 邏輯運算 true = True false = False if true and false:print("true && false = True") else:print("true && false = False") if true or false:print("true || false = True") else:print("true || false = False") if not true:print("not true is true") else:print("not true is false")輸出如下:
通過 and 和 or 字符分別代替 && 和 || 實現(xiàn) ”與“ 、”或“。not 字符實現(xiàn)“非”操作。
1.3.6 十進(jìn)制到二、八、十六進(jìn)制的轉(zhuǎn)換
十進(jìn)制轉(zhuǎn)換其他進(jìn)制基本格式:
int targe #十進(jìn)制到二進(jìn)制 num = bin(target) #十進(jìn)制到八進(jìn)制 num = oct(16) #十進(jìn)制到十六進(jìn)制 num = hex(16)具體測試代碼如下:
# 十進(jìn)制轉(zhuǎn)二進(jìn)制、八進(jìn)制、十六進(jìn)制 number = bin(16) print(number) number = oct(16) print(number) number = hex(16) print(number)輸出如下所示:
前兩位為進(jìn)制,二進(jìn)制為0b,,八進(jìn)制為0o,十六進(jìn)制為0x
1.3.7 二、八、十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換
其他進(jìn)制到十進(jìn)制的轉(zhuǎn)換基本格式:
num = int("二、八、十六進(jìn)制數(shù)",base=2 or 8 or 16)具體測試代碼如下:
# 二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)十進(jìn)制 number = int("0b10000", base=2) print(number) number = int("0o20", base=8) print(number) number = int("0x10", base=16) print(number)其輸出如下:
2.1 字符串
2.1.1 判斷字符串開頭結(jié)尾是否包含某些字符
基本格式如下:
str string str txt bool b1 b1 = txt.startswith(string) b1 = txt.endswith(string)具體測試代碼如下:
# 判斷字符串開頭結(jié)尾 txt = "你好,再見" if txt.startswith("你好"):print("txt開頭中有字符你好") else:print("txt開頭中沒有字符你好") if txt.endswith("再見"):print("txt結(jié)尾中有字符再見") else:print("txt結(jié)尾中沒有字符再見")運行結(jié)果如下:
2.1.2 判斷字符串是否為全數(shù)字
三種方法基本格式:
bool b1 str string # string 內(nèi)是否全為數(shù)字字符。 b1 = string.isdigit() # string 內(nèi)是否全為十進(jìn)制字符 b1 = string.isdecimal() # string內(nèi)是否全為數(shù)值字符 b1 = string.isnumeric()具體測試代碼如下:
# 字符串中數(shù)值檢測 print("測試三者為分別為:isdigit(),isdecimal(),isnumeric()") num = "零" print("漢字羅馬字符 零 三者輸出為", end=':') print(num.isdigit(), end=',') print(num.isdecimal(), end=',') print(num.isnumeric()) num = "2.3" print("三者小數(shù) 2.3 輸出為", end=':') print(num.isdigit(), end=',') print(num.isdecimal(), end=',') print(num.isnumeric()) num = "123" print("三者十進(jìn)制 123 輸出為", end=':') print(num.isdigit(), end=',') print(num.isdecimal(), end=',') print(num.isnumeric()) num = "①" print("三者數(shù)值字符 ① 輸出為", end=':') print(num.isdigit(), end=',') print(num.isdecimal(), end=',') print(num.isnumeric())具體輸出如下:
| isdigit() | ? | ? | ? | × | × |
| isdecimal() | × | ? | ? | × | × |
| isnumeric() | ? | ? | ? | ? | × |
2.1.3 字符串兩邊特定字符去除
基本格式如下:
str string str target #去除字符兩邊的換行符、制表符、空格 string = string.strip() #指定去除字符串兩邊字符 string = string.strip(target) #指定去除字符串左邊字符 string = string.lstrip() #指定去除字符串右邊字符 string = string.rstrip()具體測試代碼如下:
# 字符串兩邊字符刪減 txt = "洞簾水掛水簾洞,山果花開花果山\n" print(txt+"有個換行符") txt = txt.strip() print(txt+" 沒有換行符") txt = "洞簾水掛水簾洞" atxt = txt.strip("洞") ltxt = txt.lstrip("洞") rtxt = txt.rstrip("洞") print("兩邊的洞都沒了:"+atxt) print("左邊的洞都沒了:"+ltxt) print("右邊的洞都沒了:"+rtxt)輸出結(jié)果:
2.1.4 字符串大小寫變化
基本格式:
str string #全部轉(zhuǎn)換為小寫 string = string.lower() #全部轉(zhuǎn)換為大寫 string = string.upper()具體測試代碼:
# 字符串大小寫變化 txt = "i love you" print(txt) TXT = txt.upper() print(TXT) txt = TXT.lower() print(txt)輸出如下:
2.1.5 字符串內(nèi)容替換
基本格式:
str txt str string str target txt= string.replace(string,target)具體測試代碼如下;
# 字符串字符替換 txt = "你是狗嗎?死狗" string = "狗" target = "🐕" print(txt) print(txt.replace(string, target))具體輸出如下:
2.1.6 字符串切割與拼接
字符串切割基本格式:
str data str flag list data_list int time #從左往右切割,切割標(biāo)志為flag 默認(rèn)全部切割 data_list = data.split(flag) #從左往右切割,切割標(biāo)志為flag 可設(shè)置time具體切割多少次 data_list = data.split(flag,time) #從右往左切割,切割標(biāo)志為flag 默認(rèn)全部切割 data_list = data.rsplit(flag) #從右往左切割,切割標(biāo)志為flag 可設(shè)置time具體切割多少次 data_list = data.rsplit(flag)字符串切割具體測試如下:
# 字符串切割 data = "地球.中國.四川省.綿陽市" area_list = data.split('.') print(area_list) area_list = data.split('.', 1) print(area_list) area_list = data.rsplit('.') print(area_list) area_list = data.rsplit('.', 1) print(area_list)輸出結(jié)果:
字符串拼接基本格式:
字符串拼接具體測試如下:
# 字符串拼接 data_list = ['地球', '中國', '四川省', '綿陽市'] flag = "." data = flag.join(data_list) print(data)輸出如下:
2.1.7 字符串字節(jié)相互轉(zhuǎn)化
基本格式:
str string str cstring str str_type #字符串轉(zhuǎn)化為字節(jié) cstring= string.encode(str_type) #字節(jié)轉(zhuǎn)換為字符串 string= cstring.decode(str_type)具體測試如下:
# 字符串字節(jié)相互轉(zhuǎn)化 string = "Hello World 你好 世界" str_type = "utf-8" c_string = string.encode(str_type) print(c_string) print(c_string.decode(str_type))具體輸出如下:
2.1.8 字符串內(nèi)容填充設(shè)置
基本格式:
str string str data str sign int width #字符串居中設(shè)置 data = string.center(width,sign) #字符串居左設(shè)置 data = string.ljust(width,sign) #字符串居右設(shè)置 data = string.rjust(width,sign) #字符串前面用0填充 data = string.zfill(width)具體測試代碼:
# 字符串填充 string = "(°°)~" sign = "?" width = 10 data = string.ljust(width, sign) print(data) data = string.center(width, sign) print(data) data = string.rjust(width, sign) print(data) data = string.zfill(width) print(data)輸出結(jié)果:
2.1.9 字符串索引、切片與步長
基本格式:
int num int begin int end int step str string #字符串索引,僅輸出不可修改 string[num] #字符串切片,僅輸出不可修改 string[begin:end] #字符串步長(跳躍取值),僅輸出不可修改 string[begin:end:step]具體測試代碼如下:
string = "🐀🐂🐅🐇🐉🐍🐎🐏🐒🐓🐕🐖" num = 0 begin = 1 end = 10 step = 2 print(string[num]) # 字符串最后一個值 print(string[-1]) print(string[begin:end]) print(string[begin:end:step]) # 字符串倒序輸出,需要注意的是此時代表從字符串最后一個到第二個倒序輸出 print(string[-1:0:-1]) # 字符串倒序輸出,此時為整體的倒序輸出 print(string[-1::-1])輸出結(jié)果如下:
2.2 列表
2.2.1 列表定義與添加打印
列表定義和添加打印的基本格式:
# 列表與數(shù)組不同,列表可以放不同數(shù)據(jù)類型的元素 data_list=[str,int] # 列表元素的單個添加 data_list.append(str) # 直接添加另外的列表元素 data_list.extend(new_list) # for循環(huán)實現(xiàn)列表元素的批量添加 for item in new_list:data_list.append(item)具體測試代碼:
# 列表的定義與批量添加 data_list = ["閉月羞花", "國色天香"] new_list = ["明目皓齒", "冰肌玉骨"] new_list2 = ["傾國傾城", "貌美如花"] # 原始data_list數(shù)據(jù) print(data_list) # append單個添加 data_list.append("小家碧玉") print(data_list) # expend整個列表元素添加 data_list.extend(new_list) print(data_list) # for循環(huán)添加 for item in new_list2:data_list.append(item) print(data_list)輸出結(jié)果如下:
2.2.2 列表插入和刪除
列表插入和刪除的基本格式:
data_list = [str,int] int index # 列表插入insert(索引位置,插入的內(nèi)容) # 索引值過大或者過小將會把數(shù)據(jù)放在最后方、最前方 data_list.insert(index,str)# 根據(jù)數(shù)值查詢實現(xiàn)刪除remove(待刪除元素) # 一次remove僅僅會刪除一個元素 # 列表中沒有對應(yīng)元素會報錯 data_list.remove(str)# 根據(jù)索引刪除列表中元素 # 刪除列表中最后一個元素 delete = data_list.pop() # 刪除列表中對應(yīng)索引的元素 delete = data_list.pop(index)# 清空整個列表 data_list.clear()具體測試代碼:
# 列表插入和刪除 data_list = ["老大建了草屋子", "老二建了木屋子", "老三建了磚屋子"] print(data_list) # 在老大后面插入🐖 data_list.insert(1, "🐖") print(data_list) # 在最前方插入大🐖 data_list.insert(-100, "大🐖") print(data_list) # 在最后方插入小🐖 data_list.insert(100, "小🐖") print(data_list) # 移除掉🐖 data_list.remove("🐖") print(data_list) # 清除掉小🐖 data_list.pop() print(data_list) # 清除掉大🐖 data_list.pop(0) print(data_list) # 清除整個列表 data_list.clear() print(data_list)輸出結(jié)果如下:
2.2.3 列表索引查詢和排序
列表定義和添加打印的基本格式:
# 列表索引查詢,根據(jù)值查詢索引,如果查詢元素找不到則會報錯 int index data_list = [int,str] # index(待查詢元素) 實現(xiàn) index = data_list.index(str) # 列表排序 從小到大 data_list.sort() # 列表排序,從大到小 data_list.sort(reverse=True) # 列表反轉(zhuǎn) data_list.reverse()具體測試代碼:
# 列表索引和排序 data_list = [9,8,7,6,5,4,3,2,1] print(data_list) # 通過值查詢索引 index = data_list.index(9) print(index) # 從小到大 data_list.sort() print(data_list) # 從大到小 data_list.sort(reverse=True) print(data_list) # 字符串比較,str與int不能比較 data_list = ["G", "F", "E", "D", "C", "B", "A"] print(data_list) # 列表反轉(zhuǎn) data_list.reverse() print(data_list)輸出結(jié)果如下:
2.2.4 列表加乘,in與長度獲取
列表加乘,in與長度獲取的基本格式:
list data_list list data_list2 # 列表相加 list = data_list + data_list2 # 列表相乘 list = data_list * int # 列表 in 與 not in bool = str in data_list bool = str not in data_list # 列表長度獲取 len(data_list)具體測試代碼:
data_list = ["C", "C#", "C++"] data_list2 = ["Java", "Python"] print(data_list + data_list2) print(len(data_list+data_list2)) print(data_list * 3) # 遍歷循環(huán) if "C" in data_list:print("C是世界上最好的語言")輸出結(jié)果如下:
2.2.5 列表索引、切片、步長
列表索引、步長、切片的基本格式:
list data_list # 列表索引 int 不能超過索引范圍,不然會報錯 data_list[int] # 列表索引刪除 del data_list[int]# 列表切片 取左不取右,左邊0和C語言依賴保持一致,后邊是直觀顯示 # 切片索引超過范圍不會報錯 data_list[int:int] # 切片刪除 del data_list[int:int] # 切片修改,覆蓋步長區(qū)域的修改方式 data_list[int:int] = [str,str]# 列表步長[起點索引:終點索引:步長] data_list[int:int:int]具體測試代碼:
# 列表索引、切片、步長 data_list = ["子鼠", "丑牛", "寅虎", "卯兔", "辰龍", "巳蛇", "午馬", "未羊", "申猴", "酉雞", "戌狗", "亥豬"] print(data_list) # 打印列表索引為0的元素 print(data_list[0]) # 打印列表前六個元素 print(data_list[0:6]) # 前六個元素步長為2打印 print(data_list[0:6:2]) # 刪除第一個元素 del data_list[0] print(data_list) # 切片方式刪除現(xiàn)在第一個元素 del data_list[0:1] print(data_list) # 將列表中的第一個元素用["子鼠", "丑牛", "寅虎"]覆蓋修改 data_list[0:1] = ["子鼠", "丑牛", "寅虎"] print(data_list)輸出結(jié)果如下:
2.2.6 列表嵌套
列表嵌套的基本格式:
data_list = [str,int,bool,list] # 調(diào)用嵌套列表[data_list索引][元素自身內(nèi)部索引] data_list[int][int]具體測試代碼:
# 列表嵌套 table_list = ["正文1", "正文2", "正文3"] txt_list = ["標(biāo)題1", "標(biāo)題2", "標(biāo)題3", "標(biāo)題4", table_list] # 整個列表輸出 print(txt_list) # 列表中列表輸出 print(txt_list[-1]) # 列表中列表單個輸出 print(txt_list[-1][0])輸出結(jié)果如下:
2.3 元組、集合與字典
2.3.1 元組定義與簡單使用
元組定義與簡單使用的基本格式:
# 元組有序,內(nèi)部元素不可修改,可以添加 tuple = (str,int,list,bool) # 元組相加 tuple + tuple # 元組相乘 tuple * int # 獲取長度 len(tuple) # 索引 tuple[int] # 切片 tuple[int:int] # 步長 tuple[int:int:int]具體測試代碼:
# 元組定義 data_tuple = ("早餐", "午餐", "晚餐", "不能有宵夜") # 打印元組 print(data_tuple) # 打印兩元組相加 print(data_tuple + data_tuple) # 打印三個元組 print(data_tuple * 3) # 打印元組長度 print(len(data_tuple)) # 打印元組第一個元素 print(data_tuple[0]) # 打印元組第一個到第二個元素 print(data_tuple[0:2]) # 打印元組第一個到第四個元素,步長為2 print(data_tuple[0:4:2]) # 特殊定義 (0)為整型,(0,)為元組 num = (0) num_tuple = (0,) # 打印輸出為整型 print(num) # 打印輸出為元組 print(num_tuple)輸出結(jié)果如下:
2.3.2 集合定義與簡單使用
集合定義與簡單使用的基本格式:
# 集合是無序的,可變的,值不可重復(fù)的、采用哈希實現(xiàn)存儲 data_set = {str,int,bool} # 空集合定義 data_set = set() # 集合元素添加 data_set.add(str) # 集合元素刪除 data_set.discard(str) # 集合交集[兩者等價] set = data_set & data_set2 set = data_set.intersection(data_set2) # 集合并集[兩者等價] set = data_set | data_set2 set = data_set.union(data_set) # 集合差集[兩者等價] set = data_set - data_set2 set = data_set.difference(data_set2)具體測試代碼:
data_set1 = {0, 1, 2, 3, 4, 5} data_set2 = {3, 4, 5, 6, 7, 8} # 打印data_set1集合 print(data_set1) # 在集合中添加元素并打印 data_set1.add(6) print(data_set1) # 在集合中刪除元素并打印 data_set1.discard(6) print(data_set1) # 打印兩個集合的交集 print(data_set1 & data_set2) # 打印兩個集合的并集 print(data_set1 | data_set2) # 打印兩個集合的差集 print(data_set1 - data_set2)輸出結(jié)果如下:
2.3.3 字典定義與簡單使用
字典定義與簡單實用的基本格式:
# 字典可變,存在鍵值對,鍵不重復(fù),且必須可哈希,值為任意值 data_dict = {key1:value,key2:value} # 輸出鍵所對應(yīng)的值 data_dict.get(key) # 輸出所有鍵 data_dict.keys() # 輸出所有值 data_dict.values() # 輸出所有的鍵值 data_dict.items()具體測試代碼:
data_dict = {"name": "林某某","age": 18,"class": "信安1702" } # 打印字典內(nèi)容 print(data_dict) # 打印name鍵內(nèi)的值 print(data_dict.get("name")) # 打印所有的鍵 print(data_dict.keys()) # 打印所有的值 print(data_dict.values()) # 打印所有的鍵值 print(data_dict.items()) # 循環(huán)打印 for item in data_dict.items():print(item[0], item[1])輸出結(jié)果如下:
2.3.4 字典鍵值更改
字典鍵值更改的基本格式:
# 初始化設(shè)置字典內(nèi)鍵值,如果鍵存在,則不做更新 data_dict.setdefault(key,value) # 更新字典鍵值對內(nèi)容 data_dict.update({key1:value1,key2:value2}) # 移除指定鍵值對 value = data_dict.pop(key) # 移除最后的值 tuple = data_dict.popitem() # 根據(jù)鍵獲取對應(yīng)值,鍵不存在則報錯 data_dict[key] # 字典值修改和刪除 data_dict[key] = value del data_dict[key]具體測試代碼:
# 字典鍵值對操作 data_dict = {"name": "林某某","class": "信安1702" } # 字典鍵值對設(shè)置 data_dict.setdefault("sex", "女") print(data_dict) # 在已經(jīng)存在對應(yīng)鍵值時,此操作無效 data_dict.setdefault("sex", "男") print(data_dict) # 更新字典 data_dict.update({"age": 18, "name": "某某林"}) print(data_dict) # 根據(jù)鍵值移除鍵值對 value = data_dict.pop("name") # 獲取被移除的鍵值 print(value) # 移除后的字典 print(data_dict) # 移除最后的鍵值 data = data_dict.popitem() print(data) print(data_dict) # 根據(jù)索引獲得鍵值 print(data_dict["class"]) # 更改值 data_dict["class"] = "信安1602" print(data_dict) # 刪除值 del data_dict["class"] print(data_dict)輸出結(jié)果如下:
總結(jié)
以上是生活随笔為你收集整理的Python基础学习备忘录上的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win7系统下怎么显示文件的后缀
- 下一篇: 单机魔兽世界服务器显示不兼容,官网公告: