在最新一期的“Python开发者周刊”(Pycoder's weekly)里,我看到一则有意思的分享,故转出来分享给大家。

该分享来自是一份”python weekly reports“,统计了 2019 年里 stackoverflow 网站上支持数最高的 20 个问题。问题列表如下(方括号中的两个数字是其支持数与回答数):

  1. ​Why does Python's hash of infinity have the digits of π?​​ - [236/3]
  2. ​Is there a more elegant way to express ((x == a and y == b) or (x == b and y == a))?​​ - [105/10]
  3. ​Why can I use a list index as an indexing variable in a for loop?​​ - [92/6]
  4. ​Why does (inf + 0j)*1 evaluate to inf + nanj?​​ - [93/4]
  5. ​Why is f'{{{74}}}' the same as f'{{74}}' with f-Strings?​​ - [88/1]
  6. ​Why does b+=(4,) work and b = b + (4,) doesn't work when b is a list?​​ - [75/7]
  7. ​Why does Python start at index -1 (as opposed to 0) when indexing a list from the end?​​ - [79/7]
  8. ​Why is TensorFlow 2 much slower than TensorFlow 1?​​ - [104/2]
  9. ​Randomness of Python's random​​ - [70/4]
  10. ​Why does Python allow out-of-range slice indexes for sequences?​​ - [72/2]
  11. ​Unexpected behaviour with Python generator​​ - [57/8]
  12. ​What exactly is meant by "partial function" in functional programming?​​ - [55/3]
  13. ​What does a yield inside a yield do?​​ - [56/4]
  14. ​Issues implementing the "Wave Collapse Function" algorithm in Python 2.7​​ - [52/2]
  15. ​Should linear read-shuffled write always be faster than shuffled read-linear write? (Was: Why is fancy assignment slower than fancy lookup?)​​ - [53/5]
  16. ​How to write 2**n - 1 as a recursive function?​​ - [49/7]
  17. ​Why is a for​​ - [53/5]
  18. ​Is there a difference between board[x, y\] and board[x][y]​​ - [47/6]
  19. ​Why was p[:] designed to work differently in these two situations?​​- [51/6]
  20. ​Jupyter notebook: No connection to server because websocket connection fails​​ - [46/4]

不用怀疑,这些内容的支持数和回答数就是那么少。不过也需注意,它统计的是问题本身的支持数,而不是回答的支持数(尽管回答的支持数也很少)。

还有一点需注意,这份报告并非 stackoverflow 网站的官方报告,而且文中也未说明统计口径与筛选标准,所以我们姑且一看。

有些问题可能挺怪的,或者平时不大可能考虑到,比如关于列表的两个问题:为什么从列表末尾查找时是从 -1 开始?为什么列表的切片允许越界?

不少回答都挺有专业精神,往往会带来新的视角和知识信息。比如,关于列表的 -1 索引问题,高票回答中提到了“~”运算符,有这样的用法:

arr = ["a", "b", "c", "d"]
print(arr[~0]) # d
print(arr[~1]) # c

让人眼前一亮!

还有一个问题是:如何优雅地计算 ​​((x == a and y == b) or (x == b and y == a))​​ 这个形式的结果?

高票回答是这样:

2019 年 stackoverflow 网站最受欢迎的 20 个 Python 问题_python

初一看,就像看人变戏法一样……

其它问题和回答就不一一说明了,建议感兴趣的同学按图索骥,按部就班,顺藤摸瓜,顺手牵羊……

链接清单:

​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​

2019 年 stackoverflow 网站最受欢迎的 20 个 Python 问题_python_02

公众号【Python猫】, 本号连载优质的系列文章,有喵星哲学猫系列、Python进阶系列、好书推荐系列、技术写作、优质英文推荐与翻译等等,欢迎关注哦。