Python是一种这样的编程语言,它使一切变得简单而直接。任何精通Python竞争编码的人都会对它的许多功能沉迷。这是我发现的一些很酷的功能,它们在竞争性编码环境中最有用。
- Counter Package的most_common函数。
这可能是我曾经使用过的最有用的函数,并且在编写任何Python代码时始终在脑海中。此函数分析列表/字符串并有助于根据它们的出现降序排列,其中n是由程序员指定的号码的数量返回前n个实体列表/字符串。在元组中返回各个实体及其出现的次数,可以在需要时轻松地进行引用/打印。# Code to find top 3 elements and their counts # using most_common from collections import Counter arr = [1, 3, 4, 1, 2, 1, 1, 3, 4, 3, 5, 1, 2, 5, 3, 4, 5] counter = Counter(arr) top_three = counter.most_common(3) print(top_three)
输出:
[(1, 5), (3, 4), (4, 3)]
输出元组清楚地指出1发生了5次,3发生了4次,而4发生了3次。
- heapq软件包的n个最大/ n个最小的函数。
此函数有助于返回任何列表中的前n个最小/最大元素,这里n又是程序员指定的数字。# Python code to find 3 largest and 4 smallest # elements of a list. import heapq grades = [110, 25, 38, 49, 20, 95, 33, 87, 80, 90] print(heapq.nlargest(3, grades)) print(heapq.nsmallest(4, grades))
输出:
[110, 95, 90] [20, 25, 33, 38]
输出的第一行给出列表等级中存在的最大数字中的3个。同样,输出的第二行将打印出列表等级中存在的最小元素中的4个。此函数的另一个特点是它不会忽略重复。因此,如果要放置数组的长度,则代替n会导致整个排序后的数组本身!
- 字典和压缩字典的概念
就其提供的独特功能而言, Python中的字典确实引人入胜。它们以类似数组的形式存储为键和值对。每个值都可以通过其相应的键进行访问。
zip函数用于将两个列表连接在一起,或者我们甚至可以将字典中的键和值对作为单个列表连接在一起。在下面的代码片段中将清楚说明此概念的应用。# Python code to demonstrate use of zip. import heapq stocks = { 'Goog' : 520.54, 'FB' : 76.45, 'yhoo' : 39.28, 'AMZN' : 306.21, 'APPL' : 99.76 } zipped_1 = zip(stocks.values(), stocks.keys()) # sorting according to values print(sorted(zipped_1)) zipped_2 = zip(stocks.keys(), stocks.values()) print(sorted(zipped_2)) #sorting according to keys
输出:
[(39.28, 'yhoo'), (76.45, 'FB'), (99.76, 'APPL'), (306.21, 'AMZN'), (520.54, 'Goog')] [('AMZN', 306.21), ('APPL', 99.76), ('FB', 76.45), ('Goog', 520.54), ('yhoo', 39.28)]
- 地图函数。
这个函数是一个偷偷摸摸的小捷径,它使我们能够以非常常规的方式在值列表上实现一个简单的函数。下面的示例将对此功能进行简单的应用。该函数将函数名称和需要应用该函数的列表的名称作为参数。# Python code to apply a function on a list income = [10, 30, 75] def double_money(dollars): return dollars * 2 new_income = list(map(double_money, income)) print(new_income)
输出:
[20, 60, 150]
在这里,我们只是实现了一个简单的函数,该函数将每个列表值乘以2,然后将其作为新列表返回。
- 字符串列表的串联
假设我们得到了一个字符串列表,并且我们必须通过串联该列表来给出输出
让我们看一下先前的代码我们正在做什么:string = "" lst = ["Geeks", "for", "Geeks"] for i in lst: string += i print(string)
这种连接字符串列表的方法绝对不是最好的方法,因为每次都会创建一个新的字符串
lst = ["Geeks", "for", "Geeks"] string = ''.join(lst) print(string)
使用join()函数提高了内存效率,而且编写起来也很方便,这无疑证明了它比以前的代码更具优势。
个别地,这些功能看似无害,但在限时编码环境中肯定会派上用场,因为它们可以在非常短的代码中提供大量功能。所讨论的功能具有非常特定的应用,在竞争性编码中的作用类似于快捷键或快捷键。掌握这些有用的技巧可能只会为某人提供他们正在寻找的竞争优势!
如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。