最近用 Python 的时候,踩了一个坑。
主需求,是将横向排列为主的二维数组,读入序列化为纵向排列为主的二维数组。为此,需要先确定原数据的列数,然后建立一个特定长度的空列表:
1 | [[], [], [], ... [], []] |
最近用 Python 的时候,踩了一个坑。
主需求,是将横向排列为主的二维数组,读入序列化为纵向排列为主的二维数组。为此,需要先确定原数据的列数,然后建立一个特定长度的空列表:
1 | [[], [], [], ... [], []] |
2013 年我接触 Python 的时候,就听闻 Python 的网络编程能力十分强大。因此,在熟悉 Python 的基本语法之后,我就和几个小伙伴一起合作,试着用 Python 的 urllib 和 urllib2 库构建了一个百度贴吧 Python 客户端。
然而,使用的过程中,我发现两个标准库的语法并不自然,甚至可以说十分反人类——用着很难受。又有,我平时使用 Python 甚少涉及到网络编程的内容。因此,Python 的网络编程就被我放下了,直到我认识了 requests 库。
排列组合是高中数学中比较难的部分。用我高中数学老师的话说,叫做「会者不难,难者不会」,说是排列组合基本靠悟。
高中数学中,排列组合相关的题目,重点是求在某个场景下,排列/组合的可能数是多少,并不要求学生列出这些可能的排列/组合分别是什么。在实际工程应用中,有些场景却会有这样的需求。
在 Python 中,标准库 itertools 提供了排列、组合、笛卡尔积的方法。然而在 C++ 中,标准库只提供了 next_permutation 和 prev_permutation,通常来说不太够用。
这里,我们给出两种思路的算法。
LaTeX 是一些理工专业论文排版的事实标准。既然是论文排版,就不可避免会涉及到参考文献的处理。Oren Patashnik 和 Leslie Lamport 在 1985 年开发的 BibTeX 是在 LaTeX 社区相当流行的参考文献格式化工具。
其实网络上流传的 BibTeX 教程很多,本不用我再来插一句嘴。不过这么多年来,始终有很多朋友会对几个问题反复提问。这让我感到,现有的教程恐怕是不够的。这篇文章尝试将 BibTeX 的基本用法讲解清楚,同时适当地提及一些处理流程,争取在有限的篇幅里,讲清楚 BibTeX 的来龙去脉。