2019 年 stackoverflow 网站最受欢迎的 20 个 Python 问题
在最新一期的“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 2**n - 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\]
andboard[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 索引问题,高票回答中提到了“~”运算符,有这样的用法:
arr = ["a", "b", "c", "d"]
print(arr[~0]) # d
print(arr[~1]) # c
让人眼前一亮!
还有一个问题是:如何优雅地计算 ((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猫】, 本号连载优质的系列文章,有喵星哲学猫系列、Python进阶系列、好书推荐系列、技术写作、优质英文推荐与翻译等等,欢迎关注哦。