Udacity-DRL MC Blackjet Source Code

print 只用於第一個知識點

三個知識點:

1. 用defaultdict來創建一個字典負責Q的存儲,該字典的key爲state,不包括action,action對應value的索引,value的值即爲state、action對應的Q值。注意,value值的類型是一個長度爲2的一維數組,這裏只能通過lambda返回這個類型,不能直接指定這個類型。

另外,給Q詞典賦key的時候,直接在Q後面的第一個方括號中寫入,Q[key],這裏即使寫入數字也不是作爲索引,而是key。

因爲我們對value值的類型設爲有兩個元素的一維array,所以可以通過Q[key] [n]來返回對應的key所對應value中的第n個元素值。

defaultdict的用法和爲什麼方便的原因

https://www.jianshu.com/p/26df28b3bfc8

https://docs.python.org/2/library/collections.html#collections.defaultdict

https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001411031239400f7181f65f33a4623bc42276a605debf6000

2. 用解壓zip(* )來得到s,a,r索引對應的列表

zip的簡單用法

http://www.runoob.com/python/python-func-zip.html 

 

3. 通過一個簡單的array賦值循環得到discount的數組序列

當然用list作爲存儲對象也可以。

可知這種單行for語句可以自動遍歷list或array (可循環對象 iterable),每循環一次索引+1,得到的值賦到對應的索引上。

https://zhidao.baidu.com/question/1836322078659552860.html 

 

另外需要注意第18和22行的+1和-1的原因(下面註釋):

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章