在最新一期的“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\] 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 索引问题,高票回答中提到了“~”运算符,有这样的用法:

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进阶系列、好书推荐系列、技术写作、优质英文推荐与翻译等等,欢迎关注哦。

参考文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。