在最新一期的“Python開發者週刊”(Pycoder's weekly)裡,我看到一則有意思的分享,故轉出來分享給大家。
該分享來自是一份”python weekly reports“,統計了 2019 年裡 stackoverflow 網站上支持數最高的 20 個問題。問題列表如下(方括號中的兩個數字是其支持數與回答數):
- Why does Python's hash of infinity have the digits of π? - [236/3]
- Is there a more elegant way to express ((x == a and y == b) or (x == b and y == a))? - [105/10]
- Why can I use a list index as an indexing variable in a for loop? - [92/6]
- Why does (inf + 0j)*1 evaluate to inf + nanj? - [93/4]
- Why is f'{{{74}}}' the same as f'{{74}}' with f-Strings? - [88/1]
- Why does b+=(4,) work and b = b + (4,) doesn't work when b is a list? - [75/7]
- Why does Python start at index -1 (as opposed to 0) when indexing a list from the end? - [79/7]
- Why is TensorFlow 2 much slower than TensorFlow 1? - [104/2]
- Randomness of Python's random - [70/4]
- Why does Python allow out-of-range slice indexes for sequences? - [72/2]
- Unexpected behaviour with Python generator - [ 57/8]
- What exactly is meant by "partial function" in functional programming? - [55/3]
- What does a yield inside a yield do? - [56/4]
- Issues implementing the "Wave Collapse Function" algorithm in Python 2.7 - [52/2]
- Should linear read-shuffled write always be faster than shuffled read-linear write? (Was: Why is fancy assignment slower than fancy lookup?) - [53/5]
- How to write 2n - 1 as a recursive function? - [49**/7]
- Why is a `for` loop so much faster to count True values? - [53/5]
- Is there a difference between `board[x, y]` and `board[x][y]` in Python? - [47/6]
- Why was p[:] designed to work differently in these two situations?- [51/6]
- Jupyter notebook: No connection to server because websocket connection fails - [46/4]
不用懷疑,這些內容的支持數和回答數就是那麼少。不過也需注意,它統計的是問題本身的支持數,而不是回答的支持數(儘管回答的支持數也很少)。
還有一點需注意,這份報告並非 stackoverflow 網站的官方報告,而且文中也未說明統計口徑與篩選標準,所以我們姑且一看。
有些問題可能挺怪的,或者平時不大可能考慮到,比如關於列表的兩個問題:為什麼從列表末尾查找時是從 -1 開始?為什麼列表的切片允許越界?
不少回答都挺有專業精神,往往會帶來新的視角和知識信息。比如,關於列表的 -1 索引問題,高票回答中提到了“~”運算符,有這樣的用法:
<code>arr=["a","b","c","d"]
print(arr[~0])#d
print(arr[~1])#c
/<code>
讓人眼前一亮!
還有一個問題是:如何優雅地計算 ((x == a and y == b) or (x == b and y == a)) 這個形式的結果?
高票回答是這樣:
初一看,就像看人變戲法一樣……
其它問題和回答就不一一說明了,建議感興趣的同學按圖索驥,按部就班,順藤摸瓜,順手牽羊……
鏈接清單:
https://python-weekly.blogspot.com/2020/01/20-best-python-questions-at.html?m=1
[1] http://stackoverflow.com/questions/56227419
[2] http://stackoverflow.com/questions/58435645
[3] http://stackoverflow.com/questions/55644201
[4] http://stackoverflow.com/questions/58031966
[5] http://stackoverflow.com/questions/59359911
[6] http://stackoverflow.com/questions/58259682
[7] http://stackoverflow.com/questions/55684960
[8] http://stackoverflow.com/questions/58441514
[9] http://stackoverflow.com/questions/55934019
[10] http://stackoverflow.com/questions/54613753
[11] http://stackoverflow.com/questions/54245618
[12] http://stackoverflow.com/questions/58339040
[13] http://stackoverflow.com/questions/55922302
[14] http://stackoverflow.com/questions/57049191
[15] http://stackoverflow.com/questions/54782033
[16] http://stackoverflow.com/questions/58378549
[17] http://stackoverflow.com/questions/56288015
[18] http://stackoverflow.com/questions/57351363
[19] http://stackoverflow.com/questions/56782148
[20] http://stackoverflow.com/questions/54963043
閱讀更多 Python貓 的文章