每天分享10條,一起飛!
1、列表分片:
2、列表神奇的地方:
(1)比較大小:
(2)列表相加:
(3)列表用乘法時,變成複合賦值:
(4)列表中in/not in的用法:
#(5)列表分片"拷貝"的概念:
分片拷貝語法:列表名稱[:];
分片拷貝的本質:開啟一個新的記憶體空間;
##備註:真正的拷貝是要使用分片的方法;
3、元組與列表之間的區別:答案:元組和列表最大的差別就是你可以任意修改列表中的元素,可以任意插入或刪除一個元素,而對元組是不行的,元組是不可改變(像字串一樣),所以你也別指望對元組進行原地排序等高階操作了。備註:元組可以不用小括號來定義(list = 1,2,3,4)
4、利用字串的拼接來實現更新與刪除: #5、用join來分隔字串: split()跟join()剛好相反, split()用來拆分字串:replace()方法如其名,就是取代指定的字串: #6、字串的格式化:(1)format ()函數使用: (2)格式化運算子:% 7、序列:(1)list()、tuple()、str(obj); #(2)len(); (3)max()和min(); (4)sum()、sorted()和reversed(); (5)enumerate()和zip(); 8、python函數: (1)函數文件
(2)關鍵字參數:
##(3)預設參數:
這點跟PHP很像
(4)收集參數:
這一點很有趣,為懶人準備的
星號*其實即可以打包又可以'解包",假如你需要將一個列表a傳入test參數的收集參數*params中,那麼調用test(a)時便會出錯,此時需要在a前邊加上個星號(*)表示實參需要"解包"後才能使用:
(5)全域變數:
但不排除有些人還是堅持"虛心接受,死性不改"這八字原則,仍然覺得有必要在函數中去修改這個全域變量,那麼你不妨可以使用global關鍵字來達到目的!我個人覺得最有意思,有深度;
閉包是函數式程式設計的重要的語法結構,函數式程式設計是一種程式設計範式,著名的函數式程式語言就是LISP語言(大家可能會聽說過這門語言,主要應用於繪圖和人工智慧,一直被認為是天才程式設計師使用的語言)。調內部函數;(8)lambda表達式:又稱匿名函數
##(9)filter( )和map():filter()有兩個參數。裡的每一個元素作為函數的參數進行計算,把返回True的值篩選出夠;如果第一個參數為None,則直接將第二個參數中為True的值篩選出來,來,我們直接看個範例:
map在這裡不是地圖的意思,在程式設計領域,map一般作"映射"來解釋。也有兩個參數,仍然是一個函數和一個可迭代序列,將序列的每一個元素作為函數的參數進行運算加工,直到可迭代序列每個元素都加工完畢,返回所有加工後的元素構成的新序列。 ##遞歸這個概念,是演算法的範疇,本來不屬於Python語言的語法內容,但每個程式語言系列教學裡都要講遞歸,那是因為如果你掌握了遞歸的方法和技巧,你會發現這是一個非常棒的程式設計思路!一個行為,接下來我們來看一個階乘範例:
9、字典和集合:(1)建立和存取字典:
字典是Python中唯一的映射類型,映射是數學上的術語,指兩個元素集之間元素相互「對應」的關係。如圖所示,映射圖解;
透過{}來建立:
#透過dict()來建立字典:
建議用{}來建立字典,看起來舒服;
# (2)字典內建方法:
fromkeys()方法用於建立並傳回一個新的字典,它有兩個參數:第一個參數是字典的鍵;第二個參數是可選的,是傳入鍵對應的值。如果不提供,那麼預設是None,舉個例子:
這個例子告訴我們做事不能總是想當然,有時候現實會給你狠狠的一棒,fromkeys()方法並不會將值"one"、"two"和"three"分別賦值鍵1、2和3,因為fromkeys()把("one","two","three")當成一個值了。
-------------------------------------------- -------------------------------------------------- ------------
key()、values()和items():
keys()用於傳回字典中的鍵,values()用來傳回字典中所有的值,那麼items()當然就是傳回字典中所有的鍵值對(也就是項),舉個例子:
---------------------------------------------------- -------------------------------------------------- ----------
get()、in和not in:
get()方法提供了更寬鬆的方式去存取字典項,當鍵不存在的時候,get()方法並不會報錯,只是默默地回傳了一個None,表示啥都沒找到;如果希望找不到資料時傳回指定的值,那麼可以在第二個參數設定對應的預設回傳值;
如果不知道一個鍵是否在字典中,那麼可以使用成員資格運算元(in或not in)來判斷;
--------------------------------------- -------------------------------------------------- -----------------
clear()清空一個指定的字典:
可能有同學會認為使用變數名賦值為一個空字典的方法來清空字典,這樣做有一定的弊端,我們來看個例子;
##--------- -------------------------------------------------- --------------------------------------------copy()方法是複製字典:
#--------------- -------------------------------------------------- --------------------------------------
pop()和popitem()方法:
pop()是給定鍵彈出對應的值,而popitem()是彈出一個項,這兩個比較容易:setdefault()方法和get()方法有點相似,但是setdefault()在字典中找不到對應的鍵時會自動加入:
------------------------------------------------ -------------------------------------------------- -----
update()方法用來更新字典:(其實上面也是有方法的,只是這個比較正宗)
#10、集合:
在Python3裡,如果用大括號括起一堆數字但沒有體現映射關係,那麼Python就會認為這堆玩意兒就是個集合。
由於集合中的元素是無序的,所以並不能像序列那樣用下標來進行訪問,但可以用迭代把集合中的資料一個個讀出來:(add()和remove()方法)
有些時候希望集合中的資料具有穩定性,也就是說,像元組一樣不能隨意地增加或刪除集合中的元素。那我們可以定義不可變集合,這裡使用的是frozenset()函數,沒錯,就是把元素給frozen(冰凍)起來:
以上是深入淺出解析Python基礎語法的詳細內容。更多資訊請關注PHP中文網其他相關文章!