day2 part1 for循環 if-elif-else語句

1 列表的遍歷,

for  key in listName :
  	print(key)

看起來簡單明瞭,就是不知道這個和JavaScript的foreach的核心算法是否一致,反正效率應該是比普通的for循環要高的,Python裏面提供一種容易理解的鍵對 即單數對複數的形式 比如 for cat in cats:,但是有個問題是這樣的 遇到不可數名詞就只能強行給他加s了.還有個事就是昨天提到的Python之禪 畢竟Python這東西都沒有大括號的 所以縮進成爲唯一可以識別代碼的表示,需要用到循環的記得一定要 加table,如果不加 那麼得到的就是循環完成以後最後一個值。
2 rang[0,10) 排序函數 這個是一個左開右閉的函數,可以生成一串有序的數字列表 當然也可以直接簡寫爲range(10),默認從0開始執行,如果要產生一個某條件的列表可以用下面的代碼執行

list_one =  []
for key in range(10):
	num =  (key+1)**2
	list_one.append(num)
print(list_one)

list_one =  []
for key in range(1,11):
	num =  key**2
	list_one.append(num)
print(list_one)

上面兩段代碼效果一直,考慮到第一種方法可能會佔用更多的運算內存,推薦使用第二種,也就是如果你的列表需要從1開始,最好在range()裏面寫清楚,這樣也更容易理解,當然了 還有一種簡單的寫法

list_one = [ key**2 for key in range(1,11)]
  #前面是列表需要滿足的條件 後面是執行循環的range值域

3 當然了 筆試的時候其他語言可能會有題目問問你 如何寫一個確認某數組中的最大值之類的題目,
大致可以這樣實現

function(第一個參數,第二個參數){
	return 第一個參數-第二個參數>0?第一個參數:第二個參數;
}

然後用一個列表循環來進行執行,但是Python的話 提供max() min() 和sum()三個方法 ,給我們寫好了,直接拿來用就是了,所以Python的算法題目裏大致是不會有求和這種弱智問題的,
在這裏插入圖片描述
嗯 列表裏面的條件貌似並不支持騷操作
列表:╭(╯^╰)╮ 我是認真的 拜託不要給我加兩個以上判定條件

list = []
for i in range(1,21):
    if(i%2 == 1):
       list.append(i)
print(list)
好像就只能比較老實的寫了   再試試三目運算符

在這裏插入圖片描述
不曉得是否寫錯了 貌似不行
4列表的切片
list[左邊位置,右邊位置]同樣的也是左包含,右不包含,不過由於是從第0個開始數的 所以想要切前五個list[:5]就行了 還有一點就是拷貝問題,
在這裏插入圖片描述
id一樣,看起來似乎是淺層拷貝
在這裏插入圖片描述
經過一番驗證以後這種拷貝方法確實是淺層拷貝,意思是改變拷貝的數組以後原數組會跟着改變,雙方指向同一個物理地址
當然了 深度克隆也十分簡單,直接用切片的方式
即 list2 = list[:]這種就可以直接深度克隆,由於是基礎方法 ,所以不存在封裝深度克隆的說法 這讓我想起了學習JavaScript的深度克隆的不太好的體驗,需要進行每一層的判定,然後一串代碼封裝,直到現在都還需要思考半天才能寫出來,
5元組 和數組(列表)類似,用()裝起來,只能進行讀取的操作,並沒有傳統意義的增刪改查,元祖的目的估計是爲了防止有人手賤去修改某些不能修改的元素,
6 pep 8的幾點要求 ①縮進採用四個空格 ②每行不超過80字符③其他指南請參考http://python,org/dev/peps.pep-0008/
7 if 語句

if conditional_test:
	do somethiing

這個貌似沒有傳統意義的括號啊 直接把空格當括號用了。這點有點類似於JavaScript的typeof number這種函數,用空格就可以實現功能 估計是因爲括號打起來沒有空格快捷
關於in 這種直接可以判定的方法
在這裏插入圖片描述
每種不足的就是並不知道在列表的哪個位置,不過要是單純用於判斷已經足夠了
類似的還有not in 方法,判定是否該元素不存在於列表之中。
if-elif-else

if age<10:
	print("你可以不承擔法律責任")
elif<16:
	print("小心點,某些責任可能讓你坐牢")
elif<18:
	pass
else:
	pass

手寫的時候很容易把 else if寫出來 不過問題不大 ,多練習下就好

   for a in objects:
   		if a in objects_2:
   			print("判定兩個列表中的相同部分")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章